我使用iTextSharp在pdf报告中显示图像。在这里,我希望连续显示两个图像,它按预期工作,但在页面结束时出现问题。问题是最后一行图像缩小以适合同一页面,它不会自动将其添加到下一页。所有图像具有相同的尺寸和分辨率。
答案 0 :(得分:1)
请向我们提供代码。
我在下面写了测试(尽管它在java中,应该没有问题)并且结果似乎是正确的。
public void tableWithImagesTest01() throws IOException, InterruptedException {
String testName = "tableWithImagesTest01.pdf";
String outFileName = destinationFolder + testName;
String cmpFileName = sourceFolder + "cmp_" + testName;
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outFileName));
Document doc = new Document(pdfDoc, PageSize.A3);
Image image1 = new Image(ImageDataFactory.create(sourceFolder + "itis.jpg"));
Table table = new Table(2);
for (int i = 0; i < 20; i++) {
table.addCell(new Cell().add(image1));
table.addCell(new Cell().add(image1));
table.addCell(new Cell().add(new Paragraph("Hello")));
table.addCell(new Cell().add(new Paragraph("World")));
}
doc.add(table);
doc.close();
Assert.assertNull(new CompareTool().compareByContent(outFileName, cmpFileName, destinationFolder, "diff"));
}
也许您使用summat image1.setAutoScale(true);
?我们仍然需要您的代码来查看。
答案 1 :(得分:0)
最简单的解决方案(考虑到所有图像具有相同的尺寸和分辨率)是每次向页面插入最大数量的图像时手动插入新页面和分页。
答案 2 :(得分:0)
从下面的评论中得出,有效的解决方案是,您需要设置的各个图像:
image.ScaleToFitHeight = false;
将行保持在一起时可能会发生