|
HPDFBarcode Unit Reference
The HPDFBarcode unit exposes the barcode component and low-level bar encoder helpers used by THPDFPage.DrawBarcode
Use THPDFPage.DrawBarcode for direct PDF page output, use THPDFBarcode when rendering to a VCL TCanvas, and use the Simple* functions when an application needs the generated bar sequence before drawing
THPDFBarcode
THPDFBarcode is a TComponent descendant that renders a configured barcode to a VCL canvas and can optionally draw the human-readable text label
| Member |
Usage |
Assign | Copies barcode configuration from another persistent object |
DrawBarcode | Draws the bars for the configured barcode on the supplied TCanvas |
DrawText | Draws the optional text label on the supplied TCanvas |
CanvasHeight | Returns the rotated drawing height needed for the configured Width, Height, and Angle |
CanvasWidth | Returns the rotated drawing width needed for the configured Width, Height, and Angle |
Published Properties
The component publishes layout, barcode type, checksum, colour, text-label, and change notification settings
| Property |
Usage |
Height, Width | Set the barcode drawing height and read or assign the calculated barcode width |
Text | Supplies the barcode payload as an AnsiString |
Top, Left | Set the canvas origin for the barcode output |
Modul | Sets the base module width used when bars are painted |
Ratio | Sets the wide-to-narrow bar ratio used by supported symbologies |
Typ | Selects the barcode type by the ordinal value of THPDFBarcodeType |
Checksum, CheckSumMethod | Enable checksum output and choose csmNone or csmModulo10 |
Angle | Rotates the rendered barcode |
ShowText, ShowTextFont, ShowTextPosition | Control whether the readable text is drawn, which font is used, and where the label is placed |
Color, ColorBar | Set the background colour and bar colour |
OnChange | Receives a TNotifyEvent when a property setter changes barcode state |
Barcode Types and Options
| Type |
Values |
THPDFBarcodeType | bcCode_2_5_interleaved, bcCode_2_5_industrial, bcCode_2_5_matrix, bcCode39, bcCode39Extended, bcCode128A, bcCode128B, bcCode128C, bcCode93, bcCode93Extended, bcCodeMSI, bcCodePostNet, bcCodeCodabar, bcCodeEAN8, bcCodeEAN13, bcCodeUPC_A, bcCodeUPC_E0, bcCodeUPC_E1, bcCodeUPC_Supp2, bcCodeUPC_Supp5, bcCodeEAN128A, bcCodeEAN128B, bcCodeEAN128C |
THPDFBarcodeOption | bcoNone, bcoCode, bcoTyp, bcoBoth |
THPDFShowTextPosition | stpTopLeft, stpTopRight, stpTopCenter, stpBottomLeft, stpBottomRight, stpBottomCenter |
THPDFCheckSumMethod | csmNone, csmModulo10 |
THPDFBarLineType | white, black, black_half |
Simple Bar Records
The simple encoder functions return their generated bars through TSimpleBarArray, an array of TSimpleBarcodeBar records
To read barcodes from loaded pages or bounded regions, use THotPDF.DecodeLoadedPageBarcodes with an application-selected decoder
| Record |
Fields |
TSimpleBarcodeBar | Width contains the module width contribution, and Filled identifies whether the segment is a printed bar |
TSimpleBarArray | Dynamic array of TSimpleBarcodeBar values filled by the Simple* functions |
Simple Encoder Functions
Each function has the signature function Name(const Text: AnsiString; var Bars: TSimpleBarArray): Integer and returns the total generated bar width
| Group |
Functions |
| Code 2/5 | SimpleCode25Interleaved, SimpleCode25Industrial, SimpleCode25Matrix |
| Code 39 and Code 93 | SimpleCode39, SimpleCode39Extended, SimpleCode93, SimpleCode93Extended |
| Code 128 and EAN-128 | SimpleCode128A, SimpleCode128B, SimpleCode128C, SimpleEAN128A, SimpleEAN128B, SimpleEAN128C |
| Retail and postal | SimpleEAN8, SimpleEAN13, SimpleUPC_A, SimpleUPC_E0, SimpleUPC_E1, SimpleUPC_Supp2, SimpleUPC_Supp5, SimplePostNet |
| Other supported symbologies | SimpleMSI, SimpleCodebar |
Example
var
Bars: TSimpleBarArray;
TotalWidth: Integer;
begin
TotalWidth := SimpleCode128B('ABC-123', Bars);
end;
See also
|