我正在使用itext pdf jar使用inter2of5生成条形码图像。
如何仅显示条形码图像而不显示文本(条形码值)?
下面的方法显示带有条形码下方文字的图像。请指出
//Creates Audit barcode image without the message(barcode number).
BarcodeInter25 audBarcode = new BarcodeInter25();
audBarcode.setCode(123456789);
Color black = new Color(0, 0, 0);
Color white = new Color(255, 255, 255);
Image audBarcodeImg = Image.getInstance(audBarcode.createImageWithBarcode(cb, null, null));
audBarcodeImg.setRotationDegrees(-90);
audBarcodeImg.setAbsolutePosition(18, 410);
samplePdfDoc.add(123456789);
audBarcode.setStartStopText(false);
答案 0 :(得分:1)
前两个观察结果:
setCode()
需要String
而不是int
。您永远不会将条形码添加到samplePdfDoc
,也无法将int
添加到samplePdfDoc
... 现在解决方案:如我book中所述,您可以通过将字体设置为null
来删除文本。我已经把你的代码变成了更有意义的东西:
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename));
document.open();
PdfContentByte cb = writer.getDirectContent();
BarcodeInter25 audBarcode = new BarcodeInter25();
audBarcode.setCode("0123456789");
audBarcode.setStartStopText(false);
audBarcode.setFont(null);
Image audBarcodeImg = Image.getInstance(audBarcode.createImageWithBarcode(cb, null, null));
audBarcodeImg.setRotationDegrees(-90);
audBarcodeImg.setAbsolutePosition(18, 410);
document.add(audBarcodeImg);
document.close();
现在代码编译,执行并显示没有文本的条形码。请考虑阅读文档,更重要的是:请升级到最新的iText版本,因为您使用的是几年前宣布死亡的版本。