从2.1.7升级iText后,我似乎遇到了问题,其中PDF似乎缺失或图像在页面之间缩小。
我想知道这是否是一个已知问题,或者我是否需要设置一些内容才能修复它。
某些背景信息:
切换库时没有真正的计算结果。
一般结构是我们有一个带有pdfTable的文档,其中包含一堆pdfImages。
在横向和纵向之间切换会产生不同的结果。
缩小图像以使其适合页面。
编辑:对不起,我的应用程序很大,做了很多工作。在发布问题之前我必须制作一个简单的模拟版本
示例代码(因此数字只是我使用的示例。我基本上使用横向位置添加了一个800 * 600图像5次。当我期待5时,我最终只看到3页。) 注意:使用纵向页面大小显示全部5,但似乎尺寸因某种原因而有所不同。
ByteArrayOutputStream baos = createTemporaryOutputStream();
Document doc = newDocument();
PdfWriter writer = newWriter(doc, baos);
writer.setViewerPreferences(PdfWriter.ALLOW_PRINTING | PdfWriter.PageLayoutSinglePage);
//create page rectangle landscape
Rectangle page = new Rectangle(PageSize.A4.rotate());
doc.setPageSize(page);
doc.setMargins((float)36.0, (float)36.0, (float)36.0, (float)36.0);
doc.open();
//create element pdf table.
PdfPTable table = new PdfPTable(new float[]{(float) 770.0});
table.setWidthPercentage(100);
table.setSplitRows(true);
table.setSplitLate(false);
table.setHeaderRows(0);
// in my case I used 5 800*600 images (same picture)
//then I loop through them and create pdfcell
//and then add it to table which then gets added to the document
List<Image> hi = (List<Image>) model.get("images");
for (Image image : hi) {
com.itextpdf.text.Image pdfImage = com.itextpdf.text.Image.getInstance(image.getBytes());
pdfImage.scalePercent((float) (0.8642384 * 100));
PdfPCell cell = new PdfPCell(pdfImage, false);
table.addCell(cell);
}
doc.add(table);
doc.close();