PDF を圧縮する方法:ブラウザだけで完結、サーバー送信ゼロの安全な軽量化
PDF をサーバーに送らずブラウザ内で圧縮する方法を解説。zerosend の仕組み・削減率・競合比較・注意点まで網羅。
メールに PDF を添付しようとしたら「ファイルサイズの上限を超えています」と弾かれた。Slack の無料プランでは 1GB のストレージ上限があり、20MB を超えるスキャン PDF を何枚も貼り続けるとすぐに圧迫される。顧客に送る見積書 PDF が 30MB あれば、相手のモバイル回線に余計な負荷をかける。こうした摩擦を一つひとつ取り除くのが PDF 圧縮の実用的な価値だ。
ただし PDF 圧縮の手段を選ぶ際に見落とされがちな問題がある。圧縮の利便性とプライバシーはトレードオフになりやすいという点だ。オンラインの圧縮サービスの多くはファイルをサーバーにアップロードする構造を持つ。契約書・給与明細・健康診断書・見積書をそのままクラウドに送ることになるが、「処理後に削除します」という約束がどの程度履行されているかをユーザー側で検証する手段はほぼない。
本記事では、PDF 圧縮の仕組みを技術的に整理したうえで、ブラウザ完結型・サーバー送信ゼロの選択肢として zerosend の PDF 圧縮ツール を後半で紹介する。まず原理と比較基準を把握してから、ツールを選んでほしい。
PDF のファイルサイズが大きくなる理由
PDF のサイズを決める主な要因は三つある。
埋め込みリソースの種類
PDF の中身は大まかに「ベクタデータ(テキスト・図形)」「ラスタ画像(JPEG・PNG など)」「フォント」に分類できる。スキャナで取り込んだ文書は全ページが高解像度ラスタ画像として埋め込まれるため、数十 MB になりやすい。一方、Word や Google ドキュメントからエクスポートした PDF はテキストがベクタとして保持されるので、ページ数のわりにサイズが小さい。
画像の圧縮設定
スキャン PDF でも、スキャナの設定によってはロスレス PNG や非圧縮ビットマップが埋め込まれている場合がある。同じ 200dpi のスキャンでも JPEG 品質 60 と PNG では 3〜5 倍のサイズ差が生まれる。
メタデータとフォント埋め込み
フォントのサブセット化が行われていない PDF は、使用しているフォントファミリー全体を埋め込むため、数 MB 余計に大きくなることがある。メタデータ(XMP パケット・注釈・リンクアクション)が積み重なるケースもある。
PDF 圧縮の主な方式と得意・不得意
圧縮ツールが内部で行う処理は大きく二種類に分かれる。
画像リサンプリング・再エンコード方式
既存の埋め込み画像を取り出し、解像度を下げる(ダウンサンプリング)か、品質を下げて JPEG 再エンコードして書き戻す手法。スキャン PDF に対して最も効果が高い。ツールによっては元の PDF 構造を維持したままリソースだけ差し替える実装もある。
ページラスタライズ再構築方式
すべてのページをいったんキャンバスに描画して画像化し、その画像を新しい PDF に貼り直す手法。元の PDF 構造(テキストレイヤー・しおり・注釈など)は失われる代わりに、削減率が高くなりやすい。ブラウザ完結型の実装に向いている。zerosend が採用しているのがこの方式だ。
どちらの方式もベクタ主体のテキスト PDF に対する効果は限定的であることは共通している。テキスト PDF のサイズを大幅に削減したいなら、フォントのサブセット化や不要なメタデータ削除のアプローチが適切だが、これらはより専門的な処理になる。
主要ツール比較:送信先サーバーと機能の違い
同種のサービスと zerosend を並べて比較する。
| ツール | 送信先サーバー | 処理場所 | 無料枠の制限 | テキスト検索保持 | オフライン動作 |
|---|---|---|---|---|---|
| Smallpdf | あり(同社サーバー) | クラウド | 1日2ファイル | 方式により異なる | 不可 |
| iLovePDF | あり(同社サーバー) | クラウド | ファイルサイズ制限あり | 方式により異なる | 不可 |
| Adobe Acrobat オンライン | あり(Adobe サーバー) | クラウド | 月2回まで | 保持される場合あり | 不可 |
| PDF2Go | あり(同社サーバー) | クラウド | ファイルサイズ制限あり | 方式により異なる | 不可 |
| zerosend | なし(ゼロ) | ブラウザ内 | 制限なし | 失われる(ラスタライズ) | 可(SW キャッシュ) |
Smallpdf や iLovePDF はクラウド処理ゆえに安定した圧縮品質を提供しており、テキスト検索を保持する圧縮モードも持つ。zerosend はサーバー送信ゼロと制限なし無料というトレードオフで、テキスト検索性を犠牲にする点は正直に記載しておく。
zerosend でブラウザ内圧縮を行う手順
zerosend の PDF 圧縮ツール を使う手順は次の通りだ。
1. ツールを開く
https://zerosend.site/tools/pdf-compress にアクセスする。初回はライブラリのロードに数秒かかる場合がある。一度ロードが完了すれば、Service Worker によってキャッシュされるため、次回以降はオフライン環境でも動作する。
2. PDF を投入する
ドラッグ&ドロップ、またはクリックしてファイル選択ダイアログから PDF を選ぶ。パスワード保護された PDF は処理できないため、事前にロック解除が必要だ。
3. 品質レベルを選択する
三段階の品質設定がある。
- 高品質:解像度を比較的維持し、読みやすさ優先。削減率は控えめ(スキャン PDF で 20〜40% 程度)
- 標準:バランス型。ほとんどのユースケースに適する(スキャン PDF で 40〜65% 程度)
- 低品質:最大圧縮。画質は落ちるが軽量化率が高い(スキャン PDF で 60〜80% 程度)
テキスト主体の PDF は設定にかかわらず削減率が低い(10〜25% 程度)。
4. 圧縮を実行してダウンロードする
「圧縮を開始する」ボタンを押すと、ブラウザ内で処理が走る。完了後にダウンロードリンクが表示される。処理中にページを離れても問題ないが、ブラウザタブを閉じると処理が中断される。
内部の仕組み:ライブラリと処理フロー
zerosend の PDF 圧縮は以下のライブラリを組み合わせて実装されている。
- pdfjs-dist(Mozilla 製の PDF レンダリングライブラリ):元の PDF ファイルを読み込み、各ページを Canvas に描画する。これが「ラスタライズ」の工程だ。pdfjs-dist の仕様については 公式 GitHub リポジトリ を参照できる。
- Canvas API:描画されたページを
canvas.toDataURL('image/jpeg', quality)で指定品質の JPEG に変換する。品質パラメータ(0〜1)が品質レベル選択に対応している。Canvas API の仕様は MDN Web Docs で確認できる。 - pdf-lib:JPEG に変換されたページを新しい PDF ドキュメントに埋め込み直す。元 PDF のタイトル・作成者などのメタデータを引き継いで最終的な PDF を組み立てる。
処理はすべてブラウザのメインスレッドまたは Web Worker 上で行われる。ネットワーク通信は発生しない。DevTools の「Network」タブを開いた状態で圧縮を実行すると、処理中に外部への HTTP リクエストが発生していないことを自分の目で確認できる。
注意すべき落とし穴
zerosend の PDF 圧縮ツールを使う前に把握しておくべき制限と注意点を整理する。
テキスト検索・コピーが不可になる
ラスタライズ方式のため、圧縮後の PDF はすべてのページが画像になる。Adobe Acrobat や PDF ビューアでテキスト検索(Ctrl+F)を実行しても文字がヒットしない。テキスト選択・コピーも不可になる。契約書の条文を検索したい、コピーして引用したいといった用途には向かない。
しおり・注釈・ハイパーリンクが失われる
元の PDF に含まれていたしおり(ブックマーク)・注釈・クリッカブルなリンクは、ラスタライズの過程で消える。ページ数の多いマニュアル PDF でナビゲーション構造を維持したい場合は別の方法を検討すること。
ベクタ主体の PDF には効果が薄い
Word や LaTeX からエクスポートしたテキスト PDF は、もともとのサイズが小さく、ラスタライズしても大きな削減にならない場合がある。むしろファイルサイズが増えることもある。
大容量ファイルはブラウザのメモリを消費する
100MB を超えるような大型 PDF を処理すると、ブラウザのタブが大量のメモリを消費する。タブがクラッシュする場合は、先に PDF 分割ツール でページ数を減らしてから圧縮を試みるとよい。
FAQ:よくある疑問
削減率はどのくらい期待できるか?
スキャン由来の画像 PDF で標準品質を選んだ場合、50〜65% 削減されるケースが多い。ただし元 PDF の解像度・埋め込み形式・ページ数によって大きく変わる。ベクタ主体のテキスト PDF では 10〜20% 程度にとどまることが多い。
圧縮後に画質が荒くなった
「低品質」設定で圧縮すると、特に細かいテキストや図表が読みにくくなる場合がある。「標準」または「高品質」に切り替えて再試行してほしい。印刷用途なら高品質推奨、メール添付程度なら標準で十分なケースが多い。
OCR 機能はあるか?
ない。zerosend の PDF 圧縮ツールはラスタライズして再構築するだけで、文字認識(OCR)は行わない。圧縮後の PDF に OCR をかけたい場合は、別途 OCR ツール(Adobe Acrobat、Google Drive の「テキストに変換」機能など)を使う必要がある。
パスワード付き PDF はどうすればよいか?
パスワード保護された PDF は処理できない。事前に PDF のパスワードを解除してから投入すること。
複数ファイルをまとめて処理できるか?
現時点では 1 ファイルずつの処理となる。複数の PDF を一括で圧縮したい場合は繰り返し実行するか、先に PDF 結合ツール で結合してから一括圧縮する方法も取れる。
まとめ
PDF 圧縮の手段を選ぶ際の判断軸は「プライバシーリスクを受け入れられるか」と「テキスト検索性を維持する必要があるか」の二点に集約される。
Smallpdf や iLovePDF はテキスト検索を保持しながら高品質な圧縮を提供しており、機密性の低い PDF であればこれらを使う合理性は十分にある。一方、契約書・給与明細・医療文書のように社外サーバーに送りたくない PDF については、zerosend のブラウザ完結型が現実的な選択肢になる。
zerosend が採用するラスタライズ方式はテキスト検索性を失うという明確なトレードオフを持つ。これを理解したうえで用途と合致するなら、サーバー送信ゼロ・無料・オフライン動作という実用上のメリットは大きい。
Zerosend Editorial
Zerosend の制作チームによる記事です。ファイルがデバイスの外に出ないことを設計の中心に置き、WASM・Web Worker をベースとするブラウザ完結ツールを開発しています。
Zerosend Editorial について →関連記事
Instagram動画の容量制限を超えた時の圧縮方法と注意点
Instagramの動画アップロード容量制限を解説し、画質を保ちながら圧縮する具体的な手順とブラウザだけで完結する無料ツールを紹介。
画像を 1 つの PDF にまとめる — /tools/image-to-pdf の思想と使い方
Zerosend の画像 → PDF 変換ツールは、複数画像をサーバーに送らず 1 つの PDF にまとめます。スキャン画像の PDF 化・レシートまとめ・申請書類の体裁整え。Zerosend 編集部が解説。
PDF のページを並べ替え・削除・回転 — /tools/pdf-edit の思想と使い方
Zerosend の PDF ページ編集ツールは、PDF のページ順序変更・削除・回転をサーバーに送らず端末内で行います。スキャン時の向きミス修正や不要ページ削除に。Zerosend 編集部が解説。