Generate Code 39 Barcode in RDLC ReportsCode 39 Barcode Creation in RDLC Reports with C# and VB Programming
- Compatible with Microsoft .NET Framework 2.0, 3.0, 3.5 & 4.0
- Fully consistent with Visual Studio 2005/2008/2010
- Truely support Microsoft SQL Server 2005 and above
- Create Code 39 and other 1D & 2D barcodes in RDLC Reports
- Easy to adjust Code 39 barcode properties in RDLC Reports
- Quickly export Code 39 barcode image on PDF and html
This library supports full customization of all Code 39 barcode properties to align with diverse .NET reporting requirements.
It also includes flexible barcode rotation support, letting users set orientation to 0, 90, 180, or 270 degrees.
Code 39 Barcode SDK for RDLC Reports Introduction
Code 39 Barcode SDK for RDLC Reports is a mature barcode library for Code 39 and other 1D & 2D barcodes generation in RDLC Reports. It supports Microsoft .NET Framework 2.0, 3.0, 3.5 and 4.0. Developers can easily adjust Code 39 barcode properties through C# or VB.NET programming.
Code 39 Symbology Introduction
Code 39 is widely used in many industries and meets many government barcode encoding specifications, including the U.S. Department of Defense. Code 39 is defined in American National Standards Institute (ANSI) standard MH10.8M-1983 and is also known as USD-3 and 3 of 9.
Code 39 Barcode Data Encoding in RDLC Local Reports (C# .NET)
Code 39 supports two distinct encoding modes for RDLC reports, each tailored to different data types.
Understanding these modes helps select the right configuration for your .NET reporting data.
Code 39 Standard Mode
Standard Code 39 is a basic linear barcode format, supporting a fixed set of 43 alphanumeric characters.
This mode is ideal for simple identification and labeling use cases in RDLC reports.
- Numeric digits: 0 through 9
- Uppercase English letters: A through Z
- Approved special characters: -, $, %, space, ., /, +
- Start/Stop character (*): Auto-added by the .NET library, no manual input needed
Steps to print standard Code 39 barcode in RDLC local reports:
- Input valid standard Code 39 characters into the barcode Data property.
- Set the barcode type to BarcodeType.CODE39 to enable standard mode.
Code 39 Full ASCII Mode (Extended Code 39)
Full ASCII Code 39 (extended mode) supports the complete 128-character ISO 646 IRV ASCII set.
This mode adds support for lowercase letters and extended special characters for RDLC reports.
Steps to print Full ASCII Code 39 barcode in RDLC local reports:
- Set the barcode type to BarcodeType.CODE39EX to activate extended ASCII mode.
- Input full ASCII text (including lowercase characters) into the Data property.
Note
We recommend verifying all input characters match the selected encoding mode.
Invalid characters may lead to failed barcode generation or unreadable output in RDLC reports.
Code 39 Check Digit Configuration
Standard Code 39 does not include a built-in check digit for data validation.
You can enable a MOD43 checksum to boost data integrity for critical RDLC reports.
This acts like a digital verification code to reduce scanning errors in printed reports.
- Set the AddCheckSum property to true to enable MOD43 checksum generation.
Note
We recommend scanning the finished Code 39 barcode to verify check digit validity.
This step ensures data integrity for RDLC reports used in regulated or high-accuracy workflows.
The KeepAutomation C# Barcode Reader library supports scanning checksum-enabled Code 39 barcodes from images, TIFFs, and PDFs in .NET applications.
Code 39 Start/Stop Character Configuration
Code 39 uses the asterisk (*) as the default start and stop character for scanner recognition.
The library auto-inserts these characters, so you can control their visibility in the text label.
- Set ShowStartStopInText to false to hide * characters in the barcode's human-readable text.
Note
We advise against manually adding * characters to the Data property.
Manual insertion causes duplicate start/stop characters, triggering encoding failures in RDLC reports.
Code 39 Barcode Dimension Settings for RDLC Local Reports (C# .NET)
Proper dimension configuration ensures Code 39 barcodes fit RDLC report layouts and scan reliably.
All size settings should align with the RDLC Image control and Crystal Reports layout requirements.
Basic Dimension Configuration
- Select a unit of measure (inch or cm) matching the RDLC report's display units.
- Define fixed BarcodeWidth and BarcodeHeight values for the report.
Note
We recommend matching the barcode's unit of measure to the RDLC Image control unit.
Mismatched units can lead to clipped or oversized barcodes in the final local report.
Advanced Dimension Customization
For precise control over barcode size, you may adjust these advanced properties in .NET code.
These settings are ideal for fine-tuning barcodes for high-resolution RDLC printing.
- AutoResize: Set to false to unlock manual X and Y property adjustments
- X: Width of the narrowest barcode module (follow application minimum requirements)
- Y: Height of individual barcode bars
- N: Wide-to-narrow bar ratio (valid range: 2.0 to 3.0)
- I: Intercharacter gap (minimum value equal to X; maximum tied to X size)
- Quiet Zones: LeftMargin and RightMargin (minimum 10X for industry scanning compliance)
Note
We suggest setting the barcode resolution to 300 DPI for high-quality printed RDLC reports.
Always calculate minimum quiet zones (10X) to maintain reliable scanner compatibility.
Custom Code 39 Barcode Adjustments for RDLC Reports (C# .NET)
The KeepAutomation .NET library lets you refine bar spacing and width for optimal readability.
These settings apply to both RDLC local reports and Crystal Reports without extra configuration.
Code 39 Wide-to-Narrow Bar Ratio
The N property controls the width ratio between wide and narrow barcode bars.
Sticking to the standard range ensures compatibility with most barcode scanners.
- Set the N property to a value between 2.0 and 3.0 (default value: 2.0).
Note
We recommend staying within the 2.0 - 3.0 ratio range for reliable scanning.
Ratios outside this range may cause scanner read failures in RDLC reports.
Code 39 Intercharacter Gap
The I property sets the gap between individual barcode characters, measured in multiples of X.
This gap affects total barcode width and fit within the RDLC Image control.
- Set the I property to define the intercharacter gap size.
Note
We recommend testing large gap values with sample data first.
Excessively large gaps can make the barcode exceed RDLC Image control boundaries.
Frequently Asked Questions
What purposes do Code 39 barcodes serve?
Code 39 barcode also known as Code 3 of 9 too, handles digits and letters and is most often used in inventory work,
government agencies, the military, and electronics businesses.
How are Code 39 and Code 128 barcodes different?
Code 128 uses a mandatory checksum for data integrity, damage to it may not stop scanning.
In contrast, Code 39 typically forgoes a checksum, so any damage to the barcode usually makes it unreadable.
What makes Code 39 and Code 93 barcodes different?
Code 93 is a revised version of Code 39, offering greater data capacity in a smaller symbol. This makes it a more space-efficient barcode solution.
Can lowercase letters be encoded in Code 39 barcodes?
Lowercase letters cannot be encoded in a standard Code 39 barcode, but the extended version is able to.
How small can a Code 39 barcode be?
code 39 has minimum size rules:
- Narrow element width (X): The smallest bar width is set by the app's specifications.
- Barcode height: At least 5.0mm, or 15% of the symbol's width (not including quiet zones) - whichever is greater.
What ratio do narrow and wide bars have in Code 39?
The valid ratio of narrow to wide bars in Code 39 is from 1:2 to 1:3.
|