pdf 5mbを圧縮してファイルサイズを減らす3つの手法

PDF 5 MB を圧縮してファイルサイズを減らすための3つの手法
※ここでは「PDF 5 MB を圧縮してファイルサイズを減らす」ことを前提に、実際に手順を書いてみます。

導入文

5 MB くらいの PDF は「大きい」とだけ言われてしまいがちですが、実は送信先がメール添付やクラウドストレージの容量制限に引っかかるケースが少なくありません。
また、見た目は変わらないのにページ遷移が遅くなるなど、ユーザー体験が悪化するケースも。
今回ご紹介する3つの手法を組み合わせれば、ほとんどの PDF で 2 MB 未満のファイルに縮小することが可能です。

1. 画像の最適化 ― 分解能削減と圧縮率調整

PDF の大部分は画像が占めることが多いです。
画像処理がキーになる理由は二つあります。

  1. 分解能 (dpi) が高い
    1 200 dpi でスキャンした文書は、実際に閲覧者が必要としている 300 dpi よりずっしり大きい。
  2. 圧縮方法が非効率
    画像をそのまま埋め込んだ(例えば PNG)と、サイズが膨らむ。

手順

ステップ 具体例 ツール
① 画像を抽出 pdfimages -j input.pdf images PDFBox, pdftools
② DPI を下げる convert images-000001.png -resize 300x output.png ImageMagick
③ 圧縮率を設定 convert output.png -quality 85% -define png:compression-level=9 output_opt.png ImageMagick
④ PDF に再埋め込み pdftk input.pdf update_info title.txt output temp.pdfpdftk temp.pdf output final.pdf pdftk, Ghostscript

ポイント

  • 画像の種類:写真系は JPEG が圧縮に適しています。ラインアートやテキストは PNG(または JPEG も可)で十分です。
  • 自動化:バッチスクリプトや PowerShell で上記一連作業を自動化すると、作業回数が減ります。
  • 品質確認:圧縮後に目で確認し、文字が読めなくならないか、細部が失われていないかを確認してください。

2. PDF コンテンツの最適化 ― Ghostscript や Adobe Acrobat で「軽量化」

画像以外にも、フォント、メタデータ、不要なオブジェクト、ページオブジェクトの重複などがファイルサイズに影響します。

Ghostscript での圧縮

Ghostscript はオープンソースで、PDF の最適化に強力です。

gs \
  -sDEVICE=pdfwrite \
  -dCompatibilityLevel=1.4 \
  -dPDFSETTINGS=/ebook \
  -dNOPAUSE -dQUIET -dBATCH \
  -sOutputFile=output_compressed.pdf \
  input.pdf
  • -dPDFSETTINGS の値を変えるだけで、圧縮幅が調整できます。

    • /screen → ディスプレイ用(低解像度)
    • /ebook → 電子書籍用(中程度)
    • /printer → 印刷用(高解像度)
    • /prepress → 出版物用(ほぼ元の品質)
  • -dCompatibilityLevel=1.4 は古い PDF フォーマットに落とし込み、オブジェクト数を減らします。

Adobe Acrobat Pro DC での軽量化

Adobe Acrobat Pro DC には「PDF を最適化」機能があります。

  1. ファイル保存し直し最適化された PDF
  2. 「画像」タブで DPI と圧縮率を手動設定
  3. 「オブジェクト」タブで不要なオブジェクト・ストリームを削除
  4. 「メタデータ」タブでバージョン情報や作成情報を削除

この GUI 手順は操作が直感的で、設定オプションも多いので、初めて PDF を圧縮する人でも安心です。

3. 不要な要素の削除 ― フォント・メタデータ・不要ページの除外

圧縮しても残る「余計なもので」の削除は重要です。

フォントの統合・削除

  • PDF 内に埋め込まれている全てのフォントはサイズに直結します。
  • Acrobat では「最適化された PDF」設定の「フォント」タブで、埋め込み可能なサブセットのみ埋め込む、あるいは 不要なフォントを完全に除外 できます。
  • Ghostscript でも -dSubsetFonts=true でサブセット化できます。

メタデータの削除

PDF のヘッダーやトレイルに作者情報、編集履歴、暗号化情報などの メタデータ が残っています。

  • Adobe Acrobat の「プロパティ」→「ドキュメント情報」 から削除。
  • Ghostscript では -dEmbedAllFonts=false と併せて -dStripAllPages=true で不要オブジェクトを除外。

不要ページの除外

時折、添付した PDF に説明資料やサンプルが混乱していることがあります。

  • Apache PDFBox を使えば、ページ範囲を指定して抜き出せます。
java -jar pdfbox-app-2.0.27.jar ExtractPages -start 1 -end 10 input.pdf output.pdf
  • また、オンラインサービス (Smallpdf、iLovePDF など) も「ページの削除」や「ページの結合」が簡単に行えます。

まとめ ― 効率的に 5 MB から 2 MB 以下へ

手法 主な効果 推奨ツール
画像最適化 解像度・圧縮率調整 ImageMagick, GIMP, Adobe Photoshop
PDF コンテンツ圧縮 オブジェクト数削減、フォント・画像圧縮 Ghostscript, Adobe Acrobat
不要要素削除 フォント、メタデータ、ページ削除 Acrobat, PDFBox, Smallpdf
  1. 画像を一括で圧縮 → まずは画像が原因か確認。
  2. Ghostscript で全体を軽量化 → 一度に大きなダウンロード。
  3. 不要要素を手動で除去 → さらにサイズを削減。

こうしておけば、5 MB 程度の文書をほぼ必ず 1–2 MB 前後に縮小できます。
大きすぎる PDF を送る前に、必ずこの3ステップを試してみてください。

コメント