2種類のPDF圧縮と、それぞれが取り除くもの
多くのPDFで容量を占めるのは文字ではなく、画像と埋め込みフォントです。構造を保つ方法はこれらのオブジェクトを扱います。画像ごとに、どこかのページで最も大きく描かれるサイズを調べ、強度ごとの解像度で画素数を制限します。弱め200 dpi、おすすめ120 dpi、強め90 dpiで、ページサイズが意味を持たないファイルのために長辺も2340、1400、1050 pxに制限します。再圧縮した画像は、元より5 %以上小さい場合にだけ置き換えます。
一部のオブジェクトはあえて触りません。CMYKのJPEG、16ビット画像、ステンシルマスク、独自のDecode配列を持つ画像、CFFやType 1形式のフォントです。ソフトマスクは可逆のまま残します。そのため、ベクター図版や圧縮済みの写真が中心のPDFはほとんど小さくならないことがあります。
画像化モードは、PDF.jsで各ページを強度ごとの長辺ピクセル数で描画し、1枚のJPEGとして保存します。文字・ベクターパス・リンクなどページを構成するものをすべて取り除き、絵だけを残します。すでに画像であるスキャン文書には向き、検索やコピーが必要な文書には向きません。
- 配置解像度
- 画像の画素数 ÷ ページ上で描かれる幅(インチ)。2400 pxの写真を500 pt(6.94 in)幅で描くと346 dpiです。
- フォントのサブセット化
- 文書が使うグリフの輪郭だけを残すこと。文字コードと字幅は変わりません。
- 画像化(ラスタライズ)
- ページを1枚の画像にすること。文字とベクターがピクセルになります。
例:同じページを強度ごとに圧縮すると
よくある2種類の画像と、強度ごとに書き戻される結果です。
写真 2400 × 2400 px、500 × 500 pt(一辺6.94 in)で配置
弱め 200 dpi × 6.94 in = 1389 px → 1389 × 1389 px、JPEG品質0.82
おすすめ 120 dpi × 6.94 in = 833 px → 833 × 833 px、JPEG品質0.58
強め 90 dpi × 6.94 in = 625 px → 625 × 625 px、JPEG品質0.52
スキャン 2339 × 3307 px、A4ページ全面(高さ11.69 in)
おすすめ 120 dpi × 11.69 in = 1403 px、長辺の上限1400 px → 990 × 1400 px
画像化モード、おすすめ、A4ページ → 1ページにつき990 × 1400 pxのJPEG 1枚、文字なし
画素数は解像度の2乗で減ります。おすすめの写真に残る画素は(833 ÷ 2400)² ≈ 12 %です。詳細設定のDPI(36〜400)を入れると強度の解像度の代わりにその値を使い、長辺の上限はDPI × 11.69になります。150 dpiなら1754 pxです。
結果の確認
- 結果の行を読みます。前後のサイズ、最適化した画像数、削ったフォント数、まとめたオブジェクト数、文字と検索が保たれたかが表示されます。
- 結果のファイルで単語を検索します。既定の方法なら以前と同じように見つかります。
- 小さな文字を含む画像を200 %に拡大します。読めなくなっていたら弱めに戻すか、DPIを上げてください。
トラブルシューティング
| 症状 | 考えられる原因 | 確認方法 | 対処 |
|---|
| ほとんど小さくならない | 容量を占めているのがこの処理で触らないオブジェクト(ベクター図版、CMYKのJPEG、CFF・Type 1フォント)か、最適化済みのファイル | 結果の行で最適化した画像がほとんどない | 強めか低いDPIを使い、スキャン文書なら画像化モード |
|---|
| 「すでに十分小さいため元のままです」 | 書き直したファイルが元より小さくならなかった | — | 問題ではありません。大きなコピーの代わりに元のファイルを返しています |
|---|
| 画像→PDF変換で作ったスキャンが思ったより縮まない | そうした変換ソフトは1ピクセルを1ポイントとして書くため、ページが巨大で72 dpiに見え、長辺の上限だけが効く | ビューアーのページサイズがA4よりはるかに大きい | 強めか低いDPI(上限も下がる)を選び、白黒のスキャンならモノクロのオプション |
|---|
| 文字が選択できなくなった | 画像化のオプションがオンだった | 結果の行に文字選択不可と出る | 画像化をオフにしてやり直す。元に戻せないので元ファイルは保管 |
|---|
| 写真の色が消えた | 「すべての写真をモノクロにする」がオン、または色がほとんどない写真がグレーで保存された | 結果の行にグレーにした画像の数が出る | 両方のモノクロのオプションを外してやり直す |
|---|
ほかの方法
| 方法 | こんなときに向いています |
|---|
| Acrobat ProのPDF最適化 | オブジェクトごとの設定と、フォント・画像・フォームがどれだけ容量を使っているかの報告が必要なとき。有料のデスクトップアプリです。 |
|---|
| 元のアプリから書き出し直す | ワープロやレイアウトソフトで作ったPDFなら、書き出し時に画像解像度を下げればJPEGを二重に圧縮せずに済みます。 |
|---|
| PDFを分割 | 1ファイルごとの容量制限があり、文書が単純に長すぎるとき。 |
|---|
この方法の限界
- CMYKのJPEG、16ビット画像、CFF・Type 1フォントは再圧縮もサブセット化もしません。
- 画像化モードはすべてのページから文字・リンク・ベクターを取り除きます。スキャンページだけを画像化するモードはありません。
- 出力ではフォームが平面化され、証明書による署名は保持されません。
バージョンと出典
tests/pdf-browser.mjsで、2400 pxのJPEG写真を含む320ページの文書を使って確認しました。構造を保つ処理が画像オブジェクトを再圧縮してファイルが小さくなり、先頭のページと320ページ目の文字が検索でき、回転とCropBoxが保たれ、画像化モードでは検索できる文字が残りませんでした(Chromium 153、Firefox 155、WebKit 26.6)。実際のファイルでの削減率は異なります。
参照した公式ドキュメント
PDFの容量を削減
文字・ベクター保持の最適化、または別の画像化圧縮を選択。
使い方
- PDFを開き元ファイルを保管
- 保持モード、または検索文字を失う画像化モードを選択
- 実際の容量を比較し文字・画像を確認
対応形式
PDF → PDF — 読み込み・書き出しはブラウザの対応状況によります。
このツールでできること
ページが実際に描く大きさに合わせて埋め込み画像を再サンプリングし、使うグリフだけ残してフォントを整理し、同一オブジェクトを統合しつつ文字・ベクターを維持します。
処理方式と検証状況
advanced · placement-aware image resampling / reference-resolved recompression / TrueType glyph trimming / object dedupe / optional raster mode. 品質検証中です。Pro・Flagship水準はまだ実証されていません。
書き出す前に
保持モードは元の文字・検索・ベクターを維持しますが署名は保持しません。フォント整理は文書が描かないグリフの輪郭を削り、モノクロ化と画像化は元に戻せず、画像化では検索を失います。忘れたパスワードは復元できず、未知のパスワードを推測することもありません。WriterはWorkerで文書全体を読み込みます。
よくある質問
対応サイズは何で決まりますか?
端末のメモリ・保存容量・コーデック対応によります。テスト例はすべてのファイルの動作保証ではありません。
ファイルはアップロードされますか?
このツールで開いたファイルはアップロードせず端末で処理します。コミュニティの投稿に明示的に添付する画像は別途アップロードされます。一部のエンジンやモデルは外部から取得するため、IPアドレスなどの接続情報は配信元に伝わります。
作業は自動保存されますか?
いいえ。画像と編集状態はこのタブに保持され、メディア出力は端末の一時保存を利用する場合があります。言語を変えても作業は残りますが、再読み込み、タブを閉じる操作、別のページへの移動で失われることがあります。