HPDFBarcode Unit Reference

Unit HPDFBarcode exposes barcode component і low-level bar encoder helpers, used by THPDFPage.DrawBarcode

Використовуйте THPDFPage.DrawBarcode для direct PDF page output, THPDFBarcode - коли rendering to VCL TCanvas, і Simple* functions - коли application потребує generated bar sequence before drawing

THPDFBarcode

THPDFBarcode є descendant TComponent, який renders configured barcode to VCL canvas і може optional draw human-readable text label

Member Usage
AssignCopies barcode configuration from another persistent object
DrawBarcodeDraws the bars for the configured barcode on the supplied TCanvas
DrawTextDraws the optional text label on the supplied TCanvas
CanvasHeightReturns the rotated drawing height needed for the configured Width, Height, and Angle
CanvasWidthReturns the rotated drawing width needed for the configured Width, Height, and Angle

Published Properties

Component publishes layout, barcode type, checksum, colour, text-label and change notification settings

Property Usage
Height, WidthSet the barcode drawing height and read or assign the calculated barcode width
TextSupplies the barcode payload as an AnsiString
Вгору, LeftSet the canvas origin for the barcode output
ModulSets the base module width used when bars are painted
RatioSets the wide-to-narrow bar ratio used by supported symbologies
TypSelects the barcode type by the ordinal value of THPDFBarcodeType
Checksum, CheckSumMethodEnable checksum output and choose csmNone or csmModulo10
AngleRotates the rendered barcode
ShowText, ShowTextFont, ShowTextPositionControl whether the readable text is drawn, which font is used, and where the label is placed
Color, ColorBarSet the background colour and bar colour
OnChangeReceives a TNotifyEvent when a property setter changes barcode state

Barcode Types and Options

Type Values
THPDFBarcodeTypebcCode_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
THPDFBarcodeOptionbcoNone, bcoCode, bcoTyp, bcoBoth
THPDFShowTextPositionstpTopLeft, stpTopRight, stpTopCenter, stpBottomLeft, stpBottomRight, stpBottomCenter
THPDFCheckSumMethodcsmNone, csmModulo10
THPDFBarLineTypewhite, black, black_half

Simple Bar Records

Simple encoder functions return generated bars through TSimpleBarArray, an array of TSimpleBarcodeBar records

Record Fields
TSimpleBarcodeBarWidth contains the module width contribution, and Filled identifies whether the segment is a printed bar
TSimpleBarArrayDynamic 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/5SimpleCode25Interleaved, SimpleCode25Industrial, SimpleCode25Matrix
Code 39 and Code 93SimpleCode39, SimpleCode39Extended, SimpleCode93, SimpleCode93Extended
Code 128 and EAN-128SimpleCode128A, SimpleCode128B, SimpleCode128C, SimpleEAN128A, SimpleEAN128B, SimpleEAN128C
Retail and postalSimpleEAN8, SimpleEAN13, SimpleUPC_A, SimpleUPC_E0, SimpleUPC_E1, SimpleUPC_Supp2, SimpleUPC_Supp5, SimplePostNet
Other supported symbologiesSimpleMSI, SimpleCodebar

Example

var
  Bars: TSimpleBarArray;
  TotalWidth: Integer;
begin
  TotalWidth := SimpleCode128B('ABC-123', Bars);
end;

See also