HPDFBarcode 单元参考

HPDFBarcode 单元公开 THPDFPage.DrawBarcode 使用的条码组件和低层条码编码辅助 API

直接输出到 PDF 页面时使用 THPDFPage.DrawBarcode,渲染到 VCL TCanvas 时使用 THPDFBarcode,应用需要在绘制前取得条码条序列时使用 Simple* 函数

THPDFBarcode

THPDFBarcode 是 TComponent 后代,可将配置好的条码渲染到 VCL canvas,也可以选择绘制可读文本标签

成员用途
Assign从另一个 persistent 对象复制条码配置
DrawBarcode在提供的 TCanvas 上绘制配置条码的条
DrawText在提供的 TCanvas 上绘制可选文本标签
CanvasHeight返回当前 Width、Height 和 Angle 所需的旋转后绘制高度
CanvasWidth返回当前 Width、Height 和 Angle 所需的旋转后绘制宽度

发布属性

该组件公开布局、条码类型、校验和、颜色、文本标签和更改通知设置

属性用途
Height, Width设置条码绘制高度,并读取或指定计算得到的条码宽度
Text以 AnsiString 提供条码载荷
顶部, Left设置条码输出的 canvas 原点
Modul设置绘制条时使用的基础模块宽度
Ratio设置受支持符号体系使用的宽窄条比例
Typ通过 THPDFBarcodeType 的序数值选择条码类型
Checksum, CheckSumMethod启用校验和输出,并选择 csmNone 或 csmModulo10
Angle旋转渲染后的条码
ShowText, ShowTextFont, ShowTextPosition控制是否绘制可读文本、使用哪个字体以及标签放置位置
Color, ColorBar设置背景颜色和条颜色
OnChange当属性 setter 更改条码状态时接收 TNotifyEvent

条码类型和选项

类型值
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

简单条记录

简单编码函数通过 TSimpleBarArray 返回生成的条,TSimpleBarArray 是 TSimpleBarcodeBar 记录数组

记录字段
TSimpleBarcodeBarWidth 包含模块宽度贡献,Filled 指示该区段是否为打印条
TSimpleBarArray由 Simple* 函数填充的 TSimpleBarcodeBar 值动态数组

简单编码函数

每个函数的签名都是 function Name(const Text: AnsiString; var Bars: TSimpleBarArray): Integer,并返回生成的总条宽

分组函数
Code 2/5SimpleCode25Interleaved, SimpleCode25Industrial, SimpleCode25Matrix
Code 39 and Code 93SimpleCode39, SimpleCode39Extended, SimpleCode93, SimpleCode93Extended
Code 128 and EAN-128SimpleCode128A, SimpleCode128B, SimpleCode128C, SimpleEAN128A, SimpleEAN128B, SimpleEAN128C
零售和邮政SimpleEAN8, SimpleEAN13, SimpleUPC_A, SimpleUPC_E0, SimpleUPC_E1, SimpleUPC_Supp2, SimpleUPC_Supp5, SimplePostNet
其他受支持的符号体系SimpleMSI, SimpleCodebar

示例

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

另请参阅