0

我正在尝试使用 iText 在 PDF 中插入数据矩阵条形码。这是一种工作,但图像质量不够好。是否有可能增加图像大小和分辨率?

我的输出示例:http: //imgur.com/jdsEelv

BarcodeDatamatrix dm = new BarcodeDatamatrix();
dm.generate("1234567890");
Image img = dm.createImage();
cell = new PdfPCell(img, false);
4

1 回答 1

1

条形码被创建为矢量图像,因此无论您以哪种缩放系数显示它,分辨率都很清晰:

在此处输入图像描述

如果您的输入示例是打印文档的扫描,则您使用的查看器应用了降级打印。这是您需要在查看器级别解决的问题,因为 iText 以与分辨率无关的方式将图像渲染到 PDF。

为了完整起见,这是我在屏幕截图中用来创建 PDF 的代码:

Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("datamatrix.pdf"));
document.open();
PdfPTable table = new PdfPTable(2);
table.setHorizontalAlignment(Element.ALIGN_LEFT);
table.setTotalWidth(100);
table.setLockedWidth(true);
table.addCell("1");
BarcodeDatamatrix dm = new BarcodeDatamatrix();
dm.generate("1234567890");
Image img = dm.createImage();
PdfPCell cell = new PdfPCell(img, false);
cell.setPadding(2);
table.addCell(cell);;
document.add(table);
document.close();
于 2013-09-07T14:06:01.043 回答