PDF に埋め込まれた画像を圧縮
Ghostscript (Windows 版)を使って、重たい PDF ファイルの画像を圧縮して、いくらかスリムにする方法。以下のコマンドを打つべし。
gswin32c.exe -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile=output.pdf -c .setpdfwrite -f input.pdf
/FlateEncode は Zip 圧縮の指定。JPEG 圧縮にする場合は /DCTEncode に変える。
gswin32c.exe -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dAutoFilterColorImages=false -dColorImageFilter=/DCTEncode -sOutputFile=output.pdf -c ".setpdfwrite << /ColorImageDict << /QFactor 0.1 >> >> setdistillerparams" -f input.pdf
/QFactor に画質を 0.0(良い)~1.0(悪い)の範囲で指定する。
ついでに作成者やタイトルなどの情報も埋め込むには、
% Document information [/CreationDate (D:20180112) /Creator (Handmade) /Title (Example) /Subject (Example of how images in a PDF file are compressed with Ghostscript) /Keywords (PDF Ghostscript Compression) /Author (PDF Hanako) /DOCINFO pdfmark
こんなものをテキストエディタで作り、info.ps のような名前を付けて保存する。そんで、gswin32c のオプションに加えてやれば良い。
gswin32c.exe -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile=output.pdf -c .setpdfwrite -f info.ps input.pdf
らしい(大昔に書いたブログの掘り起こしなので確かめていない)。