【发布时间】:2012-05-13 00:30:21
【问题描述】:
我正在尝试使用 OPOS Common Controls 1.8 通过 Epson TM-H6000III 收据打印机打印 Code 128 C 型条形码(因为 A/B 型对于我的要求来说太宽了)。我的代码是用 C++ 编写的。
通常,我使用以下代码 sn-p 打印条形码:
const LONG PTR_BCS_Code128 = 110;
lOposBarcodeType = PTR_BCS_Code128;
lReturn = m_PosPrinter.PrintBarCode(2,*lpszTextline,lOposBarcodeType,120,5,PTR_BC_CENTER,PTR_BC_TEXT_BELOW);
这里,*lpszTextline 表示要打印为条形码的数据。
根据网上的建议,我尝试进行以下更改以打印 Code 128 C 格式的条形码:
const LONG PTR_BCS_Code128_Parsed = 123;
lOposBarcodeType = PTR_BCS_Code128_Parsed;
lReturn = m_PosPrinter.PrintBarCode(2,*lpszTextline,lOposBarcodeType,120,5,PTR_BC_CENTER,PTR_BC_TEXT_BELOW);
并尝试以各种方式格式化条码数据:
- 前导“{C”
- 前导“{C”,尾随“H”
- 制作编号。数据中的字符数
但没有一种方法奏效。它总是导致 ResultCodeExtended = 300003 的 OPOS_E_ILLEGAL 错误。我也无法在 Internet 上找到有关扩展代码的更多信息。
我们将非常感谢您在这方面的任何帮助。
提前致谢。 普罗苏
【问题讨论】:
-
128C 仅编码 00-99 的数字。如果您尝试添加 ASCII 文本,则需要使用 128A 或 128B - 或将 ASCII 转换为数字 ('{C' = 91 35 ),并记得在扫描时将其转换回。
标签: c++ printing barcode epson opos