金魚亭日常

読書,ガジェット,競技プログラミング

PDFファイルのサイズを小さくする.

Inkscapeで, 画像ファイルを配置して注釈とかを入れてPDFで保存したらサイズが異常に大きくなった. そういう図を10個ぐらいいれたら, 最終的に500MBぐらいのPDFができてしまった. なので, Ghostscriptを使ってサイズを小さくしようと調べてみた.

まず,

Figures.pdf : 457,536 KB

gswin32c -sDEVICE=pdfwrite  -dNOPAUSE -dQUIET -dBATCH -sOutputFile=Figures-compressed-prepress.pdf Figures.pdf

とすると,

Figures-compressed.pdf: 16913 KB

となった.

調べた中では, -dCompatibilityLevel=1.4 というオプションをつけている例が結構あったのだけど, つけてもつけなくても変わらなかった. もとのPDFバージョンが1.5だからだと思う.

次に,

gswin32c -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH -sOutputFile=Figures-compressed-prepress.pdf Figures.pdf

とすると,

Figures-compressed-prepress.pdf: 5194 KB

となった.

-dPDFSETTINGSオプションは, /printerとか/screenとかするともっと小さくなった. もちろん, 画質が低下する.

ちなみに, グレースケールにするには,

gswin32c -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -sOutputFile=Figures-compressed-gray.pdf -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray Figures.pdf

とする.