我正在尝试使用ESC/POS命令将JavaScript应用程序中的EAN-13条形码打印到热打印机上。
根据应用程序规范,所有命令必须只使用HEX通过蓝牙插件。
目前,我可以打印条形码,但它不显示下面的数字和所有的条形码线是相同的高度。我当时的印象是,EAN-13的数字被分成三个部分,其间有不同高度的线条。
示例条形码: 6921426623090
命令: 0x1D,0x77,3,0x1D,0x68,160,0x1D,0x6B,2,0x36,0x39,0x30,0x31,0x30,0x32,0x38,0x30,0x37,0x35,0x38,0x33,0x31,00,0x0a,0x0a
命令解释:
0x1D,0x77,3, // barcode width
0x1D,0x68,160, // barcode height
0x1D,0x6B,2,0x36,0x39,0x30,0x31,0x30,0x32,0x38,0x30,0x37,0x35,0x38,0x33,0x31,00, // ean-13 barcode: GS k m d1...dkNUL
0x0a,0x0a // space after我很有信心这和我的GSkmd1...dkNUL实现有关
GS // 0x01D
k // 0x6B
m // 2
d1...dk // barcode translated to hex: 0x36,0x39,0x30,0x31,0x30,0x32,0x38,0x30,0x37,0x35,0x38,0x33,0x31
NUL // 00电流输出:

想要的打印输出:

我希望有任何反馈意见,如何打印条形码,根据提供的图像-与数字以下和线的不同高度之间。
发布于 2019-07-03 11:52:26
事实证明,使用print barcode命令ESC/POS无法打印(非平面) EAN-13条形码。唯一的选择是通过print image命令打印非平面EAN-13的图像。
发布于 2019-07-21 17:24:21
这些字符被称为HRI(人类可读的解释)。
一个不平坦的条形码意味着HRI被叠加在条形码上并打印出来。
如果是这样的话,用位图创建一个图像并打印它将是有效的。
除此之外,我还没有尝试过,我也不知道是否有可能使用,但是可以想象使用页面模式打印如下。
但是你真的需要一个非平坦的条形码来进行这样的打印布局吗?
如果不需要使用非平面条形码,则可以通过下列方法同时打印条形码和条形码字符串。
请参考以下内容。
相应的一页是日语。
GS H:选择HRI字符打印位置
如果在条形码下面打印字符,则n为0x02或0x32。
0x1D 0x48 0x02或0x32
GS f n:选择HRI字符字体
如果要更改用条形码打印的字符的字体,请指定此选项。
n的值将根据打印机的不同而有所不同。
0x1D 0x66 0x00-0x04或0x30-0x34或0x61-0x62
https://stackoverflow.com/questions/56774458
复制相似问题