我正在使用Barcode128创建一个图像,并且我正在尝试将其放在PDf文件中,但它正在IE中的页面上:
如果订单号(ETIMS ...)大约为20个字符,则打印正常大小的条形码。
我尝试了不同的值:
code128.setBarHeight();
code128.setX();
Image.setWidthPercentage();
Image.scaleAbsolute();
Image.scaleToFit();
Image.scalePercent();
但没有任何作用,它就像是设置了宽度和高度的其他东西,而我没有改变它。
发生这种情况的部分代码:
float[] widths1 = { 10f, 4f };
PdfPTable tableReqNumberBarcode;
Paragraph p1 = new Paragraph();
PdfPCell cellReqNumberBarcode;
while (iteratorPDFReader.hasNext())
{
tableReqNumberBarcode = new PdfPTable(widths1);
cellReqNumberBarcode = new PdfPCell(p1);
cellReqNumberBarcode.setBorder(Rectangle.NO_BORDER);
}
page = writer.getImportedPage(pdfReader, pageOfCurrentReaderPDF);
cb.addTemplate(page, 1.15f, 0, 0, 1.15f, 70, 0);
Barcode128 code128 = new Barcode128();
code128.setCode(orderNumber);
code128.setFont(null); //remove printed text under the barcode
code128.setBarHeight(80f);
code128.setX(1f);
Image myImage = code128.createImageWithBarcode(cb, null, null);
cellReqNumberBarcode.addElement(myImage);
tableReqNumberBarcode.addCell(cellReqNumberBarcode);
document.add(tableReqNumberBarcode);
答案 0 :(得分:1)
code128.setX(1f);
设置最窄条的宽度。将其设置为较低的值以缩小条形码。
答案 1 :(得分:0)
我通过添加setX和setBarHeight()
解决了这个问题Barcode128 code128 = new Barcode128();
code128.setCode(GetReqNumByJobNumber(childJobNumbers[labelNumber], eb, ssb));
code128.setFont(null); //null removes the printed text under the barcode
code128.setX(0.6f);
code128.setBarHeight(22);
Image myImage = code128.createImageWithBarcode(cb, null, null);
myImage.setAbsolutePosition(10,700);
myImage.scalePercent(125);