【PDF容量小さくする方法】ページ数削減・画像圧縮・フォント最適化でサイズを劇的に縮小!

PDFサイズを劇的に削減したいあなたへ
PDFは「一度作成するとそのまま保存できて、他の環境でも同じ見た目を保てる」といった特長から、資料共有や提出資料として広く利用されています。しかし、画像やイラスト、フォント埋め込みなどが原因でファイルサイズが大きくなり、メール送信やWebアップロードが煩わしくなることも。
この記事では「ページ数削減」「画像圧縮」「フォント最適化」の3つの主眼と、さらに「不要情報の除去」「圧縮アルゴリズムの最適化」などを合わせて、PDFの容量を数十~百倍に縮小する具体的な手順を紹介します。


1. ページ数を削減する前に知っておきたいこと

ページ本体の内容が多いほどファイルサイズは増大します。しかし、PDFでは1ページの内部構造が非常に細かく定義されているため、余計なページを削除するだけで 10%〜30% 削減できるケースもあります。

テクニック 実践方法 期待できる削減率
不要ページの削除 Acrobat → 「ページ」 → 「削除」 ★★
重複ページの統合 1ページにまとめる
フッター・ヘッダーの統一 共通レイヤー化

ポイント:削除する前に「プレビュービュー」で本当に必要なページだけを残すように確認しましょう。


2. 画像を圧縮してサイズを圧縮

PDF 内の画像は ビットマップ形式(JPEG, PNG, TIFF 等)で格納されます。画像の解像度と圧縮率を調整するだけで、数 MB から数百 KB にも縮小できます。

2.1 画像解像度の再設定

  • 目安:紙に印刷する場合 150200 dpi、Web表示のみなら 70100 dpi で十分。
  • ツール:Adobe Acrobat → 「ファイル」→「プロパティ」→「画像」タブ
  • Adobe Acrobat Pro で「画像圧縮」 → 「低解像度 (150 DPI)」を選択

2.2 圧縮アルゴリズムの切替

形式 特徴 圧縮率
JPEG 有損圧縮で小回りが利く ★★★★★
PNG 失われない(透過) ★★★
JPEG2000 高い圧縮率+可逆圧縮 ★★★★
JBIG2 1bit 画像に最適 ★★★★★
  • 可能なら JPEG2000 へ変換することで、画質をほぼ保ったまま 10~30% の圧縮が可能です。
  • Ghostscript を使うなら -dJPEGTable=3 -dJPEGQ=0.7 を指定して JPEG に再エンコードできます。

2.3 画像の統合・圧縮スクリプト例

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \
   -dPDFSETTINGS=/ebook \
   -dColorImageDownsampleType=/average -dColorImageResolution=150 \
   -dGrayImageDownsampleType=/average -dGrayImageResolution=150 \
   -dMonoImageDownsampleType=/average -dMonoImageResolution=150 \
   -sOutputFile=compressed.pdf input.pdf
  • -dPDFSETTINGS=/ebook は軽量化設定。解像度を 150 DPI に下げ、JPEG圧縮レベルを自動で決定。

3. フォントを最適化する

PDF に埋め込まれたフォントの数と種類が多いとサイズが膨らみます。

3.1 フォント埋め込みの削減

  • 埋め込み不要:PDFの閲覧者が同じフォントを持っている場合、埋め込む必要はありません。

    • Acrobatファイル > プロパティ > フォント
    • 「サブセット化」や「埋め込み除外」を選択
  • サブセット化:文書に実際に使用されている文字だけを埋め込む。

    • Acrobat では自動で行う設定があります。

3.2 フォントの種類を統一

  • 1つのフォントファミリー(例:Helvetica)だけを使用すると、フォント埋め込み数が減少。
  • 複数フォントを利用している場合、Google Fonts の M+ FONTS など軽量化された Web フォントを代用。

3.3 フォント置換ツール

ツール 特徴
FontForge フォント編集・サブセット化
pdf2ps + ps2pdf サブセット化した PDF を再生成
qpdf 無害化してサイズ削減

簡易スクリプト例:

pdf2ps input.pdf temp.ps
ps2pdf -dSubsetFonts=true -dEmbedAllFonts=false temp.ps compressed.pdf
  • -dSubsetFonts=true でサブセット化。
  • -dEmbedAllFonts=false でフォント埋め込みを完全に無効化(閲覧者が同じフォントを持つことが前提)。

4. PDF の内部構造を最適化

4.1 不要オブジェクトの除去

  • オブジェクトの再構成:Ghostscript では -dUseFlateCompression=true-sProcessColorModel=DeviceRGB を指定すると不要なオブジェクトが除去されます。

4.2 透明オブジェクトの簡略化

  • 透明レイヤー(BlendModes)は再計算が必要でサイズが増大。
  • -dPreserveObjects=true を付けるとレイヤーをそのまま保持できるのでファイルを小さく保ちやすい。

4.3 メタデータ・コメントの削除

  • Acrobact では「ファイル」→「プロパティ」→「説明」等をクリア。
  • Ghostscript で -dPreserveAnnotations=false -dPreserveObjects=false を使って注釈やオブジェクトを削除。

例:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \
   -dPDFSETTINGS=/screen \
   -dPreserveAnnotations=false -dPreserveObjects=false \
   -sOutputFile=final.pdf clean_input.pdf
  • -dPDFSETTINGS=/screen はウェブ表示向けの非常に軽量化設定。

5. オブジェクトストリームと暗号化の有無

  • オブジェクトストリーム(PDF 1.5 以降)を有効化するとオブジェクトの読み込みが高速になり、データ重複が削減。
  • 暗号化 されていると圧縮ができないケースが多い。
    • 暗号化を解除し、圧縮後に再暗号化しない場合、サイズ短縮が可能。

Acrobat で解除するときは「ファイル」→「プロパティ」→「セキュリティ」→「なしに設定」。


6. PDF/A 形式へ変換してサイズを抑える

  • PDF/A はアーカイブ用の標準で、オブジェクトやフォントを統一化。
  • この過程で 不要なオブジェクトは削除され、フォントはサブセット化されるためサイズが抑えられることがある。

6.1 Acrobat での変換

  1. 「ファイル」→「形式を変換」→「PDF/A」
  2. 「選択したページ」や「すべてのページ」を指定
  3. 「保存」

6.2 Ghostscript での変換例

gs -dPDFA=1 -dPDFACompatibilityPolicy=1 \
   -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite \
   -sOutputFile=pdfa_compressed.pdf input.pdf

7. まとめと実践チェックリスト

チェック項目 実行方法
ページ削除 Acrobat / Ghostscript
画像再エンコード Acrobat / Ghostscript
フォントサブセット化 Acrobat / FontForge
メタデータ除去 Acrobat / Ghostscript
アノテーション除去 Acrobat / Ghostscript
PDF/A 変換 Acrobat / Ghostscript
ファイル統合で分割→再統合 qpdf で一括操作

実際に試すなら

  1. 入力document.pdf
  2. 圧縮
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \
   -dPDFSETTINGS=/ebook -dSubsetFonts=true \
   -sOutputFile=compress.pdf document.pdf
  1. フォントサブセット化の確認
pdfinfo -f 1 -l 1 compress.pdf | grep -i Font
  1. サイズ確認
du -h compress.pdf

8. よくある質問(FAQ)

質問 回答
画像だけを圧縮したい Ghostscript に -dColorImageResolution=100 -dGrayImageResolution=100 を入れる。
フォントを全て削除しても文字化けする フォントが埋め込まれていないと閲覧者の環境で置換が正しく働かない。必要最小限のフォントサブセット化に切り替える。
PDF/A 変換でサイズが増える PDF/A は透明オブジェクトを扱いにくく、フォントを埋め込む必要があるためサイズ増大になるケースがある。手動で透明レイヤーを除去してから変換すると改善。
オンラインサービスで圧縮したい SmallpdfiLovePDF で「PDF圧縮」機能が利用できるが、無料版はサイズ上限が 2 MB。大容量はオフラインで処理が推奨。

結論:ページ数の削減と画像・フォントの最適化を組み合わせることで、PDF ファイルサイズは 10% 〜 90% 以上に減らせます。
特に、Ghostscript で行う一括圧縮コマンドはコマンドライン好きには非常に便利です。
まずは自分の PDF を上記チェックリストで検証し、段階的に最適化してみてください。
お役に立てれば幸いです。

コメント