開くのに四十秒かかる、スクロールすると引っかかる、スマホでは勝手に閉じてしまう——そんなPDFは、人が破損だと思い込んでも無理はない振る舞いをしています。壊れてはいません。閲覧ソフトが持っている以上のメモリを要求していて、負けているのは閲覧ソフトのほうなのです。
やっかいなのは、ファイルサイズだけではほとんど何もわからないという点です。40 MBの文書が一瞬で開く一方で、8 MBの文書が這うこともあります。二つのファイルはまったく別の理由で大きいからで、その理由こそが、どの対処が効いてどの対処が画質を無駄に削るだけなのかを決めています。
「大きすぎる」が実際に意味するもの
「大きすぎる」は単一のしきい値ではなく、四つの異なる天井です。どれにぶつかったかで、目にする症状が変わります。
| 制限 | おおよそどこで効いてくるか | 症状 |
|---|---|---|
| メール添付の上限 | Gmailは25 MB、Outlookは20 MB、社内サーバーではさらに低いことも多い | メールがそもそも送れない |
| ウェブのアップロード制限 | 多くのポータルや行政フォームで10〜50 MB | 始まる前にアップロードが拒否される |
| モバイル閲覧ソフトのメモリ | まちまち。画像の多いファイルは100 MBのはるか手前で苦しくなる | 開いてすぐ閉じる、あるいは一度も開かない |
| デスクトップ閲覧ソフトの性能 | 明確な上限はなく、徐々に悪化する | スクロールが遅い、開くのに時間がかかる、カーソルが回り続ける |
最初の二つはファイルをきっぱり弾く厳格な制限です。あとの二つは緩やかで、合計メガバイト数よりも、ページに何が載っているかにはるかに強く左右されます。千ページのテキスト文書は軽い仕事ですが、裁ち落としの写真が並ぶ五十ページのカタログはそうではありません。
大きなPDFが閲覧ソフトを窒息させる理由
PDFのページは描画命令の集まりであり、それを表示するとは命令を実行することです。ページが2,500万画素の写真を参照している場合、閲覧ソフトはその画像を画面サイズに縮小する前に、いったんメモリ上へ完全に展開しなければなりません。圧縮状態で4 MBの画像が、展開すると100 MBを占めることもあります。そんなページを十枚もスクロールすれば、数百メガバイトで動くモバイルの閲覧ソフトはメモリを使い切り、OSに終了させられます。
別の二つのパターンも、違う経路から同じ結果に行き着きます。ベクター画像——地図、CADの書き出し、複雑なグラフ——は、一ページに数十万本の個別パスを抱えることがあり、そのページが表示されるたびにすべてを描き直さねばなりません。この種のファイルはディスク上では小さいのに、描画は容赦なく遅いのが常です。そして、ほかの文書を何度も結合して組み立てた文書は、同じ埋め込みフォントの複製を何十個も溜め込み、目に見えるものを一つも増やさないままファイルを膨らませます。
実際に容量を食っているもの
実務上、重さはほぼ必ず次の五か所のいずれかにあります。
- 必要のない解像度でスキャンされたページ。群を抜いて多い原因です。スキャナーの初期設定はフルカラー600 dpiで、文字を読み書き・印刷するには十分すぎる150〜200 dpiのおよそ十倍のデータを生みます。
- カメラの解像度のまま埋め込まれた写真。報告書に貼ったスマホ写真は1,200万画素ですが、ページが表示するのはせいぜい100万画素分。残り90%の画素は、何の役にも立たないまま保存され、送信され、展開されます。
- 圧縮せずに保存されたスキャン。一部のスキャナーや「PDFに印刷」の経路は、ページ画像を生のビットマップとして格納します。この種のファイルは巨大で——1ページあたり数十メガバイト——圧縮すると劇的に縮みます。
- 重複して埋め込まれたフォント。結合するたびに、同じフォントセットの複製が増えていきます。目には見えませんが、ときにファイルの三分の一を占めます。
- 密度の高いベクター画像。地図、間取り図、CADの書き出し。ディスク上では控えめなのに描画は過酷で、画像圧縮がまったく効かない唯一の原因でもあります。
重さがどこにあるかを見極める
二つの手早い計算で、どの対処に手を伸ばすべきかがわかり、そもそも小さくなりようのないファイルを劣化させずに済みます。
- ファイルサイズをページ数で割る。1ページあたりおよそ1 MBを超えるなら画像が支配的で、圧縮が劇的に効きます。それでも動作が重いのに1ページあたり500 KBを大きく下回るなら、問題はベクターの複雑さかページ数であり、圧縮ではほとんど動きません。
- ページ上で文字を選択してみる。選択できなければ、そのページは画像——スキャン——であり、画像圧縮こそまさに適切な道具です。文字がきれいに選択できてなおファイルが巨大なら、重さはフォントかベクターの中身のほうにあります。
この二つ目の確認には、うれしい副産物があります。スキャンした文書にはテキスト層がまったくないため、検索もできず、中身を複写することもできません。どうせファイルを処理するのであれば、OCR PDFに通すことで、見た目を変えないままページ画像の下に検索可能なテキスト層が加わります。扱いに困っていたスキャンが、実際に活用できるものへと変わるわけです。
大きなPDFを3ステップで使える状態にする
大半のケースを占める画像の多いファイルなら、ブラウザ上で1分もかかりません。
ファイルをアップロードする
pdfdocshift.com/compress-pdf を開き、文書をアップロード領域にドロップします。200 MBまでのファイルを受け付けるので、閲覧ソフトが難儀していたケースはほぼすべて収まります。
用途に合った品質レベルを選ぶ
高品質は控えめにダウンサンプリングし、印刷に回すものすべてに向いています。中品質は150 dpi前後を狙い、画面で読みメールで送る文書の既定値として適切です。低品質は、忠実さよりも厳格な上限に収めることが重要な場面のためのものです。
最大表示で結果を確認する
ファイルをダウンロードし、最も細かいページ——小さな文字、署名、印影のあるページ——をウィンドウに合わせるのではなく100%表示で見てください。文字がくっきりしていれば、その圧縮はただ得をしただけです。甘く見えるなら、品質を一段上げてやり直しましょう。
圧縮が見当違いになる場面
圧縮が働きかけるのは画像です。重さが画像にないなら、画質を削るばかりで得られるものはごくわずか。別の手立てが必要になります。
- 非常に長い文書。2,000ページのファイルが遅いのはバイト数ではなくページ数のせいです。PDFを分割すれば、章ごとや一定サイズごとに分かれ、そのどれもが一瞬で開きます。メールの上限に対しても分割のほうがたいてい良い答えです。受け取る側も、はね返される1通より読める3ファイルのほうがありがたいはずです。
- 密度の高いベクター画像。画像圧縮には働きかける対象がありません。図面を作った人に、平坦化したものか詳細を落としたものを書き出してもらいましょう。手元でできる有効な対処はありません。
- 必要なのが数ページだけのとき。該当ページを抜き出すほうが、文書全体を圧縮するより優れています。300ページの報告書から取り出した5ページの抜粋は、どんな圧縮でも到達できない小ささで、読むうえでも便利です。
- ファイルが破損もしているとき。巨大でしかも不安定——開くこともあれば止まることもある——なら、まずPDF修復で直してください。構造が壊れたファイルを圧縮すると、損傷を固定してしまいがちです。
最初からPDFを小さく保つ
肥大したPDFの多くは、誰も意識して選んでいない既定値によって、作られたその瞬間に肥大しています。
- 文字は200〜300 dpiのグレースケールでスキャンする。白黒の紙をカラーで読み取ると、データ量が無意味に3倍になります。この一点の変更だけで、後からの圧縮処理より価値があるのが普通です。
- 画像は文書に配置する前にサイズを変える。実際に表示される大きさまで縮めた写真は、フル解像度の元画像のごく一部の容量で済み、見た目は変わりません。
- できるかぎり「PDFに印刷」ではなく書き出しを使う。Word、Pages、Googleドキュメントはいずれも、印刷ダイアログよりもエクスポートや「PDFとして保存」のほうがはるかに効率のよいファイルを作ります。
- 結合は最後に一度だけ。結合と再結合を繰り返すと、そのたびに重複したフォントデータが積み上がります。最終的な文書は一度の操作で組み立てましょう。
- 配布した後ではなく、保管する前に圧縮する。巨大なファイルがいったん20人に届いてしまえば、サイズの問題はすでに全員の問題になっています。
最後にもう一つ、押さえておきたい区別があります。遅いファイルはサイズの問題ですが、そもそも開かないファイルはそうではありません。閲覧ソフトが難儀するのではなくエラーを表示しているなら、まずはそのエラーメッセージが何を意味するのかから始めてください。開かないファイルを圧縮しても解決にはなりません。
よくある質問
モバイルの閲覧ソフトは使えるメモリがはるかに少なく、しかもPDFのページは表示する前に完全に展開しなければなりません。圧縮状態で4 MBの写真が、メモリ上では100 MBを占めることもあります。デスクトップなら難なく吸収できますが、スマホでは足りなくなり、OSがアプリを終了させます。ファイルは壊れておらず、画像データを減らすために圧縮すれば解決します。
単一の数字ではなく、ぶつかっている制限によります。メールの上限は厳格で、Gmailは25 MB、Outlookは20 MB、社内サーバーではさらに低いことも少なくありません。ウェブのアップロードフォームは10〜50 MBで止まるのが一般的です。閲覧ソフトの性能に固定の天井はなく徐々に悪化し、それを左右するのは総容量よりもページの中身です。千ページのテキストは、五十ページの写真より軽い仕事なのです。
文書に本物のテキスト層があるなら、文字はぼやけません。文字は文字コードとフォント命令として保存され、どんな大きさでも鮮明に描き直されるため、圧縮は手を触れません。圧縮が下げるのは画像の解像度です。ページがスキャンの場合は文字が画像の一部なので、この点が効いてきます。スキャン文書では高めの品質レベルを使い、細かいページを100%表示で確認してください。
それは密度の高いベクター画像の特徴です。地図、間取り図、CADの書き出し、複雑なグラフなどは、ページが表示されるたびにすべて描き直さねばならない個別パスを数十万本抱えていることがあります。この種のファイルはディスク上では小さく描画は遅く、画像圧縮には働きかける対象がありません。唯一の本当の解決策は、その図面を作ったソフトから簡略化したものを書き出すことです。
重さがどこにあるか次第です。ファイルサイズをページ数で割ってみてください。1ページあたりおよそ1 MBを超えるなら画像が支配的で、圧縮が劇的に効きます。まだ重いのに1ページあたり500 KBを下回るなら、問題はページ数かベクターの複雑さであり、圧縮が効かないところで分割が効きます。メール用途なら、そもそも分割のほうが良い場合が多いでしょう。届く3ファイルは、はね返される1ファイルに勝ります。
いいえ。圧縮は埋め込まれた画像に働きかけ、テキスト層はそのまま残るので、検索できる文書は検索できるままです。スキャンした文書はそもそもテキスト層を持たず、どちらにせよ検索できません。検索したいのであればOCRに通してください。ページ画像の下にテキスト層が加わり、見た目は変わりません。