Featured image of post GhostScriptを使用してPDFを圧縮する

GhostScriptを使用してPDFを圧縮する

こんにちは。 私はほとんどの本を自炊して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出力ファイルが大きくなる可能性がありますが、様々な用途に使用できる
prepressAcrobat Distillerの “Prepress Optimized”(バージョンXまで)の設定に近い出力
printerAcrobat Distillerの「印刷最適化」(バージョンXまで)の設定に近い出力
ebookAcrobat Distiller (バージョン X まで) の「eBook」設定と同様の中解像度出力
screenAcrobat Distiller(バージョンXまで)の「画面最適化」設定に近い低解像度の出力

おまけ。自炊を活発にしていた時にPythonで作ったPDFビューワアプリの話です。

【Python×Kivy】Kinoppy(紀伊国屋書店アプリ)を真似してみた

【Python×Kivy】Kinoppy(紀伊国屋書店アプリ)を真似してみた

Licensed under CC BY-NC-SA 4.0
Hugo で構築されています。
テーマ StackJimmy によって設計されています。