我一直在使用旧的 itext jar (com.lowagie) 从图像文件中生成一些 pdf。但是当我升级到 itextpdf jar (5.5.0) 时,页面大小最终被设置为 A4(即使我调用了 doc.setPageSize(rectangleOfCustomSize))。当我并排查看 pdf 时,新代码的图像文件从页面(顶部和右侧)流出。旧页面的大小为 15.81x23.32,而新页面的大小为 8.26x11.69。
如何更改我的代码以解决此问题?我需要始终拥有自定义页面大小(从不标准)。
以下是一些代码片段。
Document document = new Document();
...
// Set image scale
image = com.itextpdf.text.Image.getInstance(file.toString());
...
int xDPI = image.getDpiX();
int yDPI = image.getDpiY();
if (xDPI != 72 || yDPI != 72) {
image.scaleAbsolute(image.getWidth() * 72f / xDPI, image.getHeight() * 72f / yDPI);
}
...
Rectangle size = new Rectangle(image.getPlainWidth(), image.getPlainHeight());
document.setPageSize(size);
这是 2 并排的屏幕截图。