PDFサイズを劇的に削減したいあなたへ
PDFは「一度作成するとそのまま保存できて、他の環境でも同じ見た目を保てる」といった特長から、資料共有や提出資料として広く利用されています。しかし、画像やイラスト、フォント埋め込みなどが原因でファイルサイズが大きくなり、メール送信やWebアップロードが煩わしくなることも。
この記事では「ページ数削減」「画像圧縮」「フォント最適化」の3つの主眼と、さらに「不要情報の除去」「圧縮アルゴリズムの最適化」などを合わせて、PDFの容量を数十~百倍に縮小する具体的な手順を紹介します。
1. ページ数を削減する前に知っておきたいこと
ページ本体の内容が多いほどファイルサイズは増大します。しかし、PDFでは1ページの内部構造が非常に細かく定義されているため、余計なページを削除するだけで 10%〜30% 削減できるケースもあります。
| テクニック | 実践方法 | 期待できる削減率 |
|---|---|---|
| 不要ページの削除 | Acrobat → 「ページ」 → 「削除」 | ★★ |
| 重複ページの統合 | 1ページにまとめる | ★ |
| フッター・ヘッダーの統一 | 共通レイヤー化 | ★ |
ポイント:削除する前に「プレビュービュー」で本当に必要なページだけを残すように確認しましょう。
2. 画像を圧縮してサイズを圧縮
PDF 内の画像は ビットマップ形式(JPEG, PNG, TIFF 等)で格納されます。画像の解像度と圧縮率を調整するだけで、数 MB から数百 KB にも縮小できます。
2.1 画像解像度の再設定
- 目安:紙に印刷する場合 150
200 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 →
-
サブセット化:文書に実際に使用されている文字だけを埋め込む。
- 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 での変換
- 「ファイル」→「形式を変換」→「PDF/A」
- 「選択したページ」や「すべてのページ」を指定
- 「保存」
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 で一括操作 |
実際に試すなら
- 入力:
document.pdf - 圧縮
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook -dSubsetFonts=true \
-sOutputFile=compress.pdf document.pdf
- フォントサブセット化の確認
pdfinfo -f 1 -l 1 compress.pdf | grep -i Font
- サイズ確認
du -h compress.pdf
8. よくある質問(FAQ)
| 質問 | 回答 |
|---|---|
| 画像だけを圧縮したい | Ghostscript に -dColorImageResolution=100 -dGrayImageResolution=100 を入れる。 |
| フォントを全て削除しても文字化けする | フォントが埋め込まれていないと閲覧者の環境で置換が正しく働かない。必要最小限のフォントサブセット化に切り替える。 |
| PDF/A 変換でサイズが増える | PDF/A は透明オブジェクトを扱いにくく、フォントを埋め込む必要があるためサイズ増大になるケースがある。手動で透明レイヤーを除去してから変換すると改善。 |
| オンラインサービスで圧縮したい | Smallpdf や iLovePDF で「PDF圧縮」機能が利用できるが、無料版はサイズ上限が 2 MB。大容量はオフラインで処理が推奨。 |
結論:ページ数の削減と画像・フォントの最適化を組み合わせることで、PDF ファイルサイズは 10% 〜 90% 以上に減らせます。
特に、Ghostscript で行う一括圧縮コマンドはコマンドライン好きには非常に便利です。
まずは自分の PDF を上記チェックリストで検証し、段階的に最適化してみてください。
お役に立てれば幸いです。


コメント