古い 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 つを並べたスクリーン キャプチャです。