Java Swing条形码创建

Java Swing条形码创建,java,swing,barcode,Java,Swing,Barcode,我正在开发一个用于打印标签的简单应用程序,我需要打印条形码。出于某些原因,我需要将条形码生成为文本而不是图像。创建和打印条形码已经足够了,但扫描仪无法识别这些条形码 我正在使用组件和系统条形码字体(IDAutomationHC39M,C39HrP24DhTt) 用于创建条形码。扫描仪试图识别它(它自动切换到恒定激光模式),但并没有结果 条形码文本示例999-999999-9/9 也许我错过了什么或者做错了什么? 完整的解释或链接将不胜感激 UPD代码示例 barcodeLabel = new J

我正在开发一个用于打印标签的简单应用程序,我需要打印条形码。出于某些原因,我需要将条形码生成为文本而不是图像。创建和打印条形码已经足够了,但扫描仪无法识别这些条形码

我正在使用组件和系统条形码字体(
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手机上的扫描仪应用程序,但没有结果。我称之为奇怪,因为之前扫描仪成功地处理了39个条形码。 现在我已经尝试在我自己的Android应用程序中使用基于zxing的扫描仪进行扫描,并成功识别。在接下来的几天里,我将用不同的扫描仪做一些实验

最后


我曾尝试在另外两台扫描仪(Metrologic和Symbol)上扫描这些条形码,它们显示了完美的结果——所有条形码都被成功识别。我想所有的问题都出在我的廉价扫描仪上——它可以很好地处理激光打印机上打印的条形码,但如果打印质量不理想——它就没用了。很抱歉,因为这个愚蠢的设备和我自己的疏忽,我开始了这个话题。
无论如何,谢谢所有的评论员,这个话题可能已经结束了

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

一个好的库可以使用iText,它可以生成PDF或图片,这样您可以在以后显示它!谢谢你的建议,但我不能使用条形码作为图像。我已经试过Barcode4J了,但是贴纸打印机在打印图像时显示出非常差的质量,并且没有办法改进它。没有任何示例代码,很难看出您可能会做错什么。此外,这不仅仅是打印布局,还包括条形码内容。有许多不同的条形码编码标准,其中一些标准要求您添加一个包含校验和或校验位的后缀,以验证最终结果的正确性。大多数扫描仪将忽略所有不包含正确校验和/校验位的扫描,即使条形码逐像素“正确”。这将是“重新发明风团”。你可以使用一些图书馆,比如烧烤:。不确定,但我认为Jasper iReport具有条形码生成器:@brano88-谢谢,但正如我所说,图像在我的贴纸打印机上打印的质量非常低。