これには Ghostscript を使用できます。次のコマンドは、個々の PDF を A4 にサイズ変更します。
for input in *.pdf ; do
gs \
-o A4-resized-${input} \
-sDEVICE=pdfwrite \
-dPDFFitPage \
-g5950x8420 \
-dPDFSETTINGS=/prepress \
${input}
done
このコマンドは、すべての入力ファイルからマージされた PDF を作成し、その過程で各ページのサイズを変更します。
gs \
-o A4-resized-${input} \
-sDEVICE=pdfwrite \
-dPDFFitPage \
-g5950x8420 \
-dPDFSETTINGS=/prepress \
*.pdf
シェルのワイルドカード*.pdf
がページを好みに合わせてソートしない場合は、自分でソートする必要があります:
[...gs-cmd...] input1.pdf input2.pdf input3.pdf [input4.pdf ...]
警告: 2 番目のオプション (個々の PDF を結合してサイズ変更する) は、次の場合に、結合された PDF のフォントで問題を引き起こす可能性があります。
- Ghostscript のインストールは最近のバージョンではありません。
- 入力 PDF ファイルはサブセット化されたフォントを使用しており、フォント名の「一意の」接頭辞 ( など
XAGTRU+
) はまったく一意ではなく、予測可能です。OpenOffice/LibreOffice およびその他の PDF ジェネレーターは、常に接頭辞を (予想通り) BAAAAA+
, CAAAAA+
,として開始することが知られていDAAAAA+
ます。BAAAAA+Arial
これにより、入力 PDF によって挿入されたサブセット化されたフォントの複数のインスタンスが発生します。これらは一意ではありませんが、異なるものであり、同じ名前を使用しています。