|
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 |
条码类型和选项
| 类型 | 值 |
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 |
简单条记录
简单编码函数通过 TSimpleBarArray 返回生成的条,TSimpleBarArray 是 TSimpleBarcodeBar 记录数组
| 记录 | 字段 |
TSimpleBarcodeBar | Width 包含模块宽度贡献,Filled 指示该区段是否为打印条 |
TSimpleBarArray | 由 Simple* 函数填充的 TSimpleBarcodeBar 值动态数组 |
简单编码函数
每个函数的签名都是 function Name(const Text: AnsiString; var Bars: TSimpleBarArray): Integer,并返回生成的总条宽
| 分组 | 函数 |
| 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 |
| 零售和邮政 | 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;
另请参阅
|