1

タイトルのとおり、A3 サイズの PDF を A4 サイズに変更しようとしています。しかしその後、コンテンツはまだ A3 スケールのように見えますが、ページャーのサイズだけが変更されました。つまり、コンテンツは A4 サイズのページャーからはみ出していて、縮小されていないということです。

これは私のコードです:

Document document = new Document(PageSize.A4, 0,0,0,0);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("output file.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
PdfReader reader = new PdfReader("input file.pdf");
for (int i = 1; i <= reader.getNumberOfPages(); i++){
     PdfImportedPage page = writer.getImportedPage(reader, i);            
     document.newPage();
     cb.addTemplate(page,0,0);
}
reader.close();
document.close();

誰でもこの問題を解決するようアドバイスできますか、ありがとうございます。

4

1 に答える 1

3

縮小するように指示しないため、縮小されません。

を使用して、A3 ページを新しい PDF に追加します。

cb.addTemplate(page,0,0);

このメソッドは、ページをそのまま座標 0, 0 に追加します。

代わりに、そのメソッドのオーバーロードを使用して、新しい PDF のページを縮小する必要があります。

cb.addTemplate(page, 0.5, 0, 0, 0.5, 0, 0);

また

cb.addTemplate(page, AffineTransform.getScaleInstance(0.5, 0.5));

PS: 0.5 以上は間違っている可能性が高く、A3 から A5 に縮小されます。ほとんどの場合、A3 から A4 に縮小するには、0.5 の平方根にする必要があります。

于 2013-09-27T09:12:48.410 に答える