我正在开发一个打印贴纸的简单应用程序,我需要打印条形码。由于某些原因,我需要将条形码生成为文本而不是图像。条码创建和打印已经足够好,但扫描仪无法识别这些条码。
我正在使用JLabel
组件和系统条码字体 ( IDAutomationHC39M, C39HrP24DhTt
) 来创建条码。扫描仪试图识别它(它自动切换到恒定激光模式)但没有结果。
条码文本示例999-999999-9/9
那么,也许我错过了什么或做错了什么?完整的解释或链接将不胜感激!
UPD 代码示例
barcodeLabel = new JLabel("*"+hwb.getNumber()+"-1/1*");
Font f = new Font("IDAutomationHC39M",java.awt.Font.PLAIN,8);
barcodeLabel.setFont(f);
请忽略硬编码的“1/1” - 它仅用于测试。
UPD 打印条码示例
一些更新
它看起来很奇怪,但似乎问题出在扫描仪上 - 我尝试使用激光扫描仪,我的 Android 手机上的扫描仪应用程序并没有得到任何结果。我说它很奇怪,因为扫描仪之前成功地处理了 code39 条码。现在我尝试在自己的 Android 应用中使用基于 zxing 的扫描仪进行扫描,并且成功识别。在接下来的几天里,我将使用不同的扫描仪进行一些实验。
最后
我尝试在其他两个扫描仪(计量和符号)上扫描这些条形码,它们显示出完美的结果 - 所有条形码都成功识别。我认为所有问题都出在我便宜的扫描仪上——它适用于激光打印机上打印的条形码,但如果打印质量不理想——它就没用了。很抱歉,因为这个愚蠢的设备和我自己的疏忽,我开始了话题。无论如何感谢所有评论员,主题可能已关闭。