为什么有些图像以pdf格式裁切?

时间:2019-07-19 13:45:45

标签: image pdf itext cut itext7

Itextpdf在将某些图像添加到Pdf文档时会对其进行裁剪。

我使用以下https://github.com/buda-base/buda-iiif-server/blob/master/src/test/java/io/bdrc/iiif/PDFBugDemo.java和以下图片编写了演示问题(pom)的演示:(https://github.com/buda-base/buda-iiif-server/blob/master/src/test/resources/test.tif

该演示代码使用itext7和Apache PdfBox从同一图像生成两个不同的文件。预期的输出是PdfBox产生的。 Itext7显然会裁剪原始图像。这种情况并非一直发生,我怀疑tif文件存在特定问题。

文件位于此处,用于Itext7(https://drive.google.com/open?id=16oUhSnhbW4QWiYn2aFPsKp3xA0__yd3B)和pdfBox(https://drive.google.com/open?id=1My_-EM27VARKDBgM5tMig7FkYlTWtflG

1 个答案:

答案 0 :(得分:0)

事实上,问题来自PDFDocument的默认边距值。感谢Tilman Hausherr,在将图像添加到doc / page之前,我能够通过以下操作解决问题:

PdfWriter writer = new PdfWriter("testPdfItext.pdf", new WriterProperties().setPdfVersion(PdfVersion.PDF_2_0));
        PdfDocument pdfDocument = new PdfDocument(writer);
        Document document = new Document(pdfDocument);
        document.setMargins(0, 0, 0, 0);