かきかたえんぴつ

いつかどこかで何かの役にたつかもしれないメモ

Ghostscript を使って PDF のページサイズを変更する

たとえば in.pdf のページサイズを強制的に A4 にして out.pdf に保存するには、以下のようにする。

gswin32c -q -dNOPAUSE -dBATCH -o out.pdf -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dFIXEDMEDIA -c "<</PageOffset [10 20]>> setpagedevice" -f in.pdf

[10 20] のところで x 方向、y 方向のオフセットを指定する(単位はポイント、負の値も可)。Unix だと gswin32c のかわりに gs か?

ユーザー定義のサイズを指定したいときは、

-sPAPERSIZE=a4

のかわりに

-dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842

のようにする。単位はポイント。