Java Swing条形码创建

Via*_*lav 9 java swing barcode

我正在开发一个简单的打印贴纸应用程序,我需要打印条形码.出于某些原因,我需要生成条形码作为文本而不是图像.条形码创建和打印都很好,但扫描仪无法识别这些条形码.

我正在使用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); 
Run Code Online (Sandbox Code Playgroud)

请忽略硬编码的"1/1" - 仅供测试.

UPD打印条码示例 在此输入图像描述

一些更新

它看起来很奇怪,但似乎问题出现在扫描仪中 - 我尝试使用激光扫描仪,我的Android手机上的扫描仪应用程序并没有结果.我之所以称之为奇怪,是因为扫描仪之前成功使用了code39条形码.现在我尝试在我自己的Android应用程序中使用基于zxing的扫描仪进行扫描,并且它已成功识别.我会在接下来的几天里用不同的扫描仪做一些实验.

最后

我试图在另外两台扫描仪(Metrologic和Symbol)上扫描这些条形码,它们显示出完美的结果 - 所有条形码都能成功识别.我认为所有的问题都在我的廉价扫描仪上 - 它适用于激光打印机上打印的条形码,但如果打印质量不理想 - 它没用.我很抱歉,由于这个愚蠢的设备和我自己的疏忽,我已经开始讨论主题.无论如何,感谢所有评论员,主题可能会被关闭.

Via*_*lav 0

我尝试在另外两台扫描仪(Metrologic 和 Symbol)上扫描这些条形码,它们显示出完美的结果 - 所有条形码均已成功识别。我相信所有问题都出在我的廉价扫描仪上 - 它非常适合激光打印机上打印的条形码,但如果打印质量不理想 - 它就没用。所以不存在程序错误,只有硬件限制。