DevExpress Reporting is built on top of the .NET Framework that does not provide an out-of-the-box support for any matrix and thermal printers.
To access the internal printer fonts or achieve the fastest printing speed possible, use the native approach suggested by the printer manufacturer. Typically, a manufacturer would provide a special series of control commands that should be directly sent to a printer's port. In some cases, you might also be provided with some kind of a proprietary graphical Report Designer.
Bar Code Validation
After specifying bar code settings, you can make sure that the resulting bar code will be properly rendered in a document by calling the Validate method of a corresponding class:
When validation fails (indicating that the bar code is not rendered), the control displays an error message corresponding to one of the PreviewStringId enumeration values.
This document section provides solutions to the most common issues that you may encounter when creating bar codes.
The bar code is too "dense"
The more information you wish to encode, the more bars should be drawn and the larger the bar code should become.
The XRBarCode.Module property specifies the width of the narrowest bar in a bar code. Although you can set this property to a very small Double value, the actual value is determined by the maximum resolution of your bar code printer device. Alternatively, consider using the XRBarCode.AutoModule option to automatically calculate the optimal bar size based on the current bar code dimensions.
When bar codes are "dense" and you are manually specifying the Module value, make sure that multiplying this value by the bar code printer resolution results in an integer number. Otherwise, rounding errors may occur on calculating the resulting bar width.
For example, when the Module is set to 0.015 inches and the printer resolution is 300 DPI, their product equals 4.5, which may be rounded to 4 or 5 pixels for different bars and result in bar code recognition errors. In this case, the Module property should be set to 0.01333 (to make the bar width equal to 4 pixels) or to 0.01667 (to make the bar width equal to 5 pixels).
The bar code is correctly displayed on the preview but it is not scanned
Make sure that your scanner has been correctly set up to be able to recognize a specific kind of a bar code. If you are not certain about how to operate the scanner properly, please refer to its product manual.
Avoid scanning bar codes from the monitor screen (e.g., using an application installed on your smartphone), because the screen DPI may not be sufficient to effectively recognize each particular bar.
The bar code is correctly displayed on the preview but it is scanned incorrectly
The cause for this problem may be an encoding issue specific to the "binary" input mode.
By default, the .NET Framework and all String objects leverage the UTF-16 encoding (see Character Encoding in the .NET Framework). However, your scanner device may use a different encoding model or even a codepage (i.e., a specific table that maps abstract values to real human-understandable characters). For additional information on this subject, please refer to the specification of your scanner device.
The "There are invalid characters in the text" error occurs
To avoid this error, check to see if the symbology you specified allows the characters you inserted.
To use characters outside the specification, use one of the following approaches:
Select any bar code symbology. Convert your string to binary data and assign it to the bar code's BinaryData property.
Select QR Code. Assign your string to the QR code's Text property and set the CompactionMode property to Byte. The QR Code converts the specified string to bytes using the UTF-8 encoding.
Was this page helpful?
Thanks for your feedback! Any other suggestions? Tell us here.