先週、スキャンした契約書をメールで送ろうとしたら47MBもあった。Gmailの添付上限は25MB。クライアントのアップロードポータルは10MBまで。結局2004年みたいに5分割して送るはめになった。
中身は40ページ、ほとんどテキストにスキャンした署名がいくつかあるだけ。47MBもある理由なんてない——スキャンした人が全ページをフル解像度の画像として、無圧縮で保存していただけだ。
PDFが肥大化する理由
肥大化したPDFの原因はだいたい同じだ。スキャンしたページやエクスポートしたスライドで、誰も拡大して見ないような高解像度の画像がそのまま埋め込まれている。スキャンページは600DPIでも150DPIでも画面で見る分には同じに見えるのに、容量は4倍になる。それが40ページ続けば、小さな動画をメールしているようなものだ。
従来の解決策はAdobe Acrobatの「ファイルサイズを縮小」——サブスクがあればの話。あるいは無料のオンラインPDF圧縮サイト。契約書(署名や口座番号入り)を見知らぬ誰かのサーバーにアップロードして、祈るしかない。
クライアントの書類でそれはやりたくなかった。
圧縮は手元でやればいい
PDFの圧縮なんて、画像の再圧縮とメタデータの整理にすぎない。WebAssemblyでブラウザがローカルに処理できる類のものだ。サーバーは不要、つまりファイルが自分のマシンの外に出ることはない。
今のやり方はこうだ:
- ZipPicのドキュメント圧縮ツールを開く——無料、ブラウザだけで動く、登録不要。
- PDFをドラッグ&ドロップ。解析もローカルでやる。
- 圧縮レベルを選ぶ。画面で読む・メールで送る用途なら真ん中の設定で十分——47MBの契約書が3.1MBになった。見た目は変わらない。
- ダウンロードして終わり。何もアップロードしていない。
3.1MBのファイルはGmailもクライアントのポータルもすんなり通った。
アップロードしてはいけないファイル
いつも思うんだが、圧縮が一番必要な書類ほど、アップロードしたくないものばかりだ。契約書、財務諸表、医療記録、未公開の仕様書——「この80MBのPDFを圧縮して」という依頼には、たいていセンシティブなものが絡んでいる。
便利な代替手段がなかったから、見知らぬ無料ツールにアップロードするのが当たり前になっていた。でも今はある。ブラウザはローカルで処理できるくらい速いし、結果は同じだ。
次にPDFがメールに入らなかったら、まずアップロードなしの圧縮を試してみてほしい。書類も、待っている相手も助かるはずだ。