0

我正在尝试在 java 中生成 EAN8 条形码。如果尝试了barcode4j(与barcodelib相反,它是免费的),这给了我非常好的结果。

我还没有想到的一件事是更改 barocde4j 中条形码的宽度和高度。我已经通过分辨率参数解决了它,这不是很好的解决方案。

我想做的是在 zxing 中生成一切(因为我还需要 QR 码),但结果看起来很丑陋。这就是我生成条形码的方式:

BitMatrix matrix;
com.google.zxing.Writer writer = new EAN8Writer();
com.google.zxing.BarcodeFormat BarcodeFormat;
matrix = writer.encode(code,BarcodeFormat, width, height);
MatrixToImageWriter.writeToStream(matrix, "JPG", output);

图片看起来像zxing

志兴

但我希望它看起来像barcode4j那样:

条形码4j

问候 && tia noircc

4

1 回答 1

2

在 Barcode4J 上:只能间接控制条码的大小。如果你用 bean 方法生成条码,你有 setHeight(double) 和 setModuleWidth(double) 来影响大小:

EAN8Bean javadoc

使用 XML 配置,您可以在此处找到可能的值。

顺便说一句,我强烈建议不要为条形码生成 JPEG,因为它是一种有损格式,会影响对比度,并且条形码会因对比度而异。改用PNG!此外,您可能需要阅读故障排除页面,因为您正在生成位图。它可以帮助避免以后出现扫描问题。

于 2012-05-15T09:16:00.853 回答