こんにちは。
私はほとんどの本を自炊してPDFファイルにしてあります。そのPDFのサイズが結構大きいので、PDFを圧縮していこうと思います。PDF圧縮はオンラインサービスもありますが、「なんか自分でやってみたい」という変わった人や、「大量にあるから自動化したい」「データ抜かれてないか心配」な真っ当な人向けに書きます。
オンラインサービスではやはりAdobeのサービスがいいでは、と思います。
https://www.adobe.com/jp/acrobat/online/compress-pdf.html
Adobeさんのオンラインサービスで標準の圧縮を行ったところ、77MBのPDFが28MBになりました。高圧縮で4.7MBです。
さて、私はGhostScriptというライブラリをGoogleColabにチャチャっと環境構築して、試してます。GoogleDriveに圧縮したいPDFをアップロードする必要があるので、大量にする人はローカル環境でした方がいいかもです。
Ghostscriptとは
Ghostscript は、PostScriptおよびPDFファイルのインタープリターです。Ghostscriptは、PostScriptインタープリタ層とグラフィックライブラリから構成されています。(PostScriptとは、Adobe社が開発したページ記述言語の一つです。)PostScript言語ファイルを多くのラスター形式に変換し、表示、印刷、画像フォーマット等へ変換するソフトウェアがGhostscriptです。
GhostscriptはGoogleColabでコマンドで簡単にインストールできますが、他の環境については
https://www.ghostscript.com/
を参考にしてください。
GhostscriptでPDF圧縮
GoogleColabで実行するのはこれだけのソースで済みます。とても簡単です!
-dPDFSETTINGSで指定する圧縮率のパラメータは5つあります。ebookで試したところ77MB→14MB、screenは77MB→4.7MBでした。環境や用途に応じて変更して使ってみてください。
default | 出力ファイルが大きくなる可能性がありますが、様々な用途に使用できる |
prepress | Acrobat Distillerの "Prepress Optimized"(バージョンXまで)の設定に近い出力 |
printer | Acrobat Distillerの「印刷最適化」(バージョンXまで)の設定に近い出力 |
ebook | Acrobat Distiller (バージョン X まで) の「eBook」設定と同様の中解像度出力 |
screen | Acrobat Distiller(バージョンXまで)の「画面最適化」設定に近い低解像度の出力 |
おまけ。自炊を活発にしていた時にPythonで作ったPDFビューワアプリの話です。
コメント