Prints a barcode symbol to printer. The barcode symbol is specified by the properties of this barcode component. Please use the method between Printer.BeginDoc and Printer.EndDoc methods.
function Print(Left, Top, Module: Single; Angle: Single = -1; BarcodeWidth: Single = 0; BarcodeHeight: Single = 0): Integer; overload; virtual;
Prints current barcode symbol that is specified by the properties of this barcode component to the printer.
Left: Single; Specifies the margin between the rotated barcode symbol and the left side of the paper in millimeters in the horizontal direction. If the quiet zones are printed (please read the ShowQuietZone property about whether or not the quiet zones will be printed), they are included in the barcode symbol. See diagram (the SpaceColor property is set to claSilver in order to accentuate the quiet zones):
For the TBarcodeFmx2D_Code16K barcode component, the leading quiet zone and the trailing quiet zone are included always, even if the ShowQuietZone property is set to false. See diagram (the SpaceColor property is set to claSilver in order to accentuate the quiet zones):
See also the "LeftMargin" property.
Top: Single; Specifies the margin between the rotated barcode symbol and the top side of the paper in millimeters in the vertical direction. If the quiet zones are printed (please read the ShowQuietZone property about whether or not the quiet zones will be printed), they are included in the barcode symbol. See diagram (the SpaceColor property is set to claSilver in order to accentuate the quiet zones):
For the TBarcodeFmx2D_Code16K barcode component, the leading quiet zone and the trailing quiet zone are included always, even if the ShowQuietZone property is set to false. See diagram (the SpaceColor property is set to claSilver in order to accentuate the quiet zones):
See also the "TopMargin" property.
Module: Single; Specifies the module size in millimeters.
For the Matrix 2D barcode symbology (excluding the TBarcodeFmx2D_MaxiCode barcode symbology), the module is single cell (a suqare shape) used to encode one bit data. The parameter specifies the module width and height. See diagram:
For the TBarcodeFmx2D_MaxiCode barcode symbology, the module is single cell (a regular hexagonal shape) used to encode one bit data. The parameter specifies the horizonal width of a module. Also, it's the center to center horizontal distance between adjacent modules. See diagram:
For the Stacked 2D barcode symbology and Linear 1D barcode symbology, the module is the thinest bar (or space) in the barcode symbol. The parameter specifies the module width. See diagram:
If any one of the BarcodeWidth and BarcodeHeight parameters is provided and it isn't zero, the value of Module parameter will be ignored, the module size will be calculated based on the BarcodeWidth parameter value or the BarcodeHeight parmeter value. If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero, only the BarcodeWidth parameter value will be used to calculate the module size, the BarcodeHeight parameter value will be ignored.
See also the "Module" property.
Angle: Single; Specifies an angle in degrees to rotate the barcode symbol and its quiet zones (if they are printed, please read the ShowQuietZone property about whether or not the quiet zones will be printed) anticlockwise. See diagram (the SpaceColor property is set to claSilver in order to accentuate the quiet zones):
The parameter defaults to -1 if the Angle parameter is not provided, and the barcode symbol will be rotated based on the value of the Orientation property:
If you want to use the -1 degrees, the 359 degrees can be used instead.
Opacity: Single, Specifies the transparency-level of entire barcode symbol, where 1 is not transparant at all, 0.5 is 50% see-through, and 0 is completely transparent.
The parameter defaults to -1 if it is not provided, and the value of Opacity property will be used.
Note, if the Inversed property is set to false, you can use the alpha channel of the SpaceColor property value to specify the transparency-level of bakcground color (spaces or light modules, and quiet zones), and use the alpha channel of the BarColor property value to specify the transparency-level of foreground color (bars or dark modules). If the Inversed property is set to true, you can use the alpha channel of the BarColor property value to specify the transparency-level of bakcground color (spaces or light modules, and quiet zones), and use the alpha channel of the SpaceColor property value to specify the transparency-level of foreground color (bars or dark modules).
BarcodeWidth: Single, Specifies the barcode symbol width (the distance between the beginning and end of the barcode symbol), in millimeters. If the quiet zones are printed (please read the ShowQuietZone property about whether or not the quiet zones will be printed), the leading quiet zone and the trailing quiet zone are included in the barcode symbol. See diagram (the SpaceColor property is set to claSilver in order to accentuate the quiet zones):
For the TBarcodeFmx2D_Code16K barcode component, the leading quiet zone and the trailing quiet zone are included always, even if the ShowQuietZone property is set to false. See diagram (the SpaceColor property is set to claSilver in order to accentuate the quiet zones):
Note, if the parameter is provided and it isn't zero, the values of Module and BarcodeHeight parameters will be ignored, the module size will be calculated based on the BarcodeWidth parameter value. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero, the barcode symbol width will be determined by the Module parameter value.
If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero, only the BarcodeWidth parameter value will be used to calculate the module size, the BarcodeHeight parameter value will be ignored.
See also the "BarcodeWidth" property.
BarcodeHeight: Single, Specifies the barcode symbol height (the distance between the top and bottom of the barcode symbol), in millimeters. If the quiet zones are printed (please read the ShowQuietZone property about whether or not the quiet zones will be printed), the top quiet zone and the bottom quiet zone are included in the barcode symbol. See diagram (the SpaceColor property is set to claSilver in order to accentuate the quiet zones):
Note, if the parameter is provided and it isn't zero, and the BarcodeWidth parameter isn't provided or it's zero, the value of Module parameter will be ignored, the module size will be calculated based on the BarcodeHeight parameter value. If both BarcodeHeight and BarcodeWidth parameters aren't provided or they are all zero, the barcode symbol height will be determined by the Module parameter value.
If both BarcodeWidth and BarcodeHeight parameters are provided and aren't zero, only the BarcodeWidth parameter value will be used to calculate the module size, the BarcodeHeight parameter value will be ignored.
See also the "BarcodeHeight" property.
This method can return one of these values (these consts are defined in the pfmxCore2D unit):
Verify_InvalidIndex_AfterBarcode (-4):
If you use the Barcode property to specify the barcode text, and use the OnEncode event handle to encode the barcode text to a bytes sequence in your own encoding scheme, the Verify_InvalidIndex_AfterBarcode (-4) indicats that an invalid byte value is in the suffix codes of the bytes sequence.
Verify_InvalidIndex_BeforeBarcode (-3):
If you use the Barcode property to specify the barcode text, and use the OnEncode event handle to encode the barcode text to a bytes sequence in your own encoding scheme, the Verify_InvalidIndex_BeforeBarcode (-3) indicats that an invalid byte value is in the prefix codes of the bytes sequence (for example the BOM).
Verify_InvalidLength (-2):
If you use the Barcode property to specify the barcode text, it indicates that the length of Barcode property value is invalid, also the OnInvalidLength event will occur.
If you use the Data property to specify the barcode text, it indicates that the length of Data property value is invalid, also the OnInvalidDataLength event will occur.
Verify_OK (-1):
It indicates the method succeeds.
Verify_InvalidIndex_Base (0), and greater than 0:
If you use the Barcode property to specify the barcode text, it indicates that an invalid character is in the barcode text, also the OnInvalidChar event will occur. The return value is the position index of the invalid charactere. For 32-bit Windows, 64-bit Windows, and Mac OSX platform, the index 1 denotes that the first character is invalid character. For iOS and Android platform, the index 0 denotes that the first character is invalid character.
If you use the Data property to specify the barcode data, it indicates that an invalid byte value is in the barcode data, also the OnInvalidDataChar event will occur. The return value is the position index of the invalid byte value. The index 0 denotes that the first byte value is invalid byte value.
Pelase use the method between Printer.BeginDoc and Printer.EndDoc methods. For example:
Printer.ActivePrinter.SelectDPI(600, 600);
Printer.BeginDoc;
... { Print other content }
Barcode_QRCode1.Print(...); { Print the barcode symbol }
... { Print other content }
Printer.EndDoc;