我尝试生成要放在标签上的Barcode128
条形码,通常标签宽度较小。我想知道3 digit(100)
字符串条形码宽度大于4 digit(1001)
字符串条形码。 3 digit barcode
应该小于4位数的条形码吗?我已经验证在线条形码生成3 digit barcode
宽度小于4位数条形码宽度,其中iText api比3 digit
字符串与4 digit string
相比更宽。
请有人告诉我们这个原因以及如何制作3 digit barcode shorter than the 4 digit barcode?
在线条形码生成器网址here
用于生成条形码的代码示例。
Barcode128 code128 = new Barcode128();
code128.setCode(myText);
Image myBarCodeImage128 = code128.createImageWithBarcode(contentByte,
null, null);
然后将图像添加到pdf文档中。
答案 0 :(得分:5)
条形码128有几种编码数字的方法。其中一种方法是在同一符号中编码2位数。在4位数字的情况下,您有两个符号,每个符号有两个数字,总共两个符号。在3位数字的情况下,您有一个两位数的符号,一个用于切换到字母数字的符号和一个用于最后一个数字的符号,总共有三个符号。正如您所看到的,在这种情况下,更少的是更多。
答案 1 :(得分:1)
根据Paulo Soares的回答找到一个工作片段。
Document document = new Document(new Rectangle(340, 842));
PdfWriter writer = PdfWriter.getInstance(document,
new FileOutputStream("barcodes.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
document.add(new Paragraph("Barcode 128 demo"));
Barcode128 code128 = new Barcode128();
code128.setCode("100");
code128.setCodeSet(Barcode128CodeSet.B);
document.add(code128.createImageWithBarcode(cb, null, null));
code128 = new Barcode128();
code128.setCode("1001");
code128.setCodeSet(Barcode128CodeSet.B);
document.add(code128.createImageWithBarcode(cb, null, null));
document.close();