PDFを結合するとき、そのファイルはどこへ行くのか
請求書と納品書と送付状を1つのPDFにまとめて、取引先へ送る。よくある作業です。
「PDF 結合 無料」で検索すると、すぐ使えるサービスがいくつも出てきます。ファイルを選んで、ボタンを押して、できあがったものを保存する。ここまで数十秒です。
ただ、その数十秒のあいだに、あなたのPDFは一度あなたの手元を離れています。
何が起きているのか
多くのPDF結合サービスは、次の順で動きます。
- ブラウザが、選んだPDFを事業者のサーバへアップロードする
- サーバ側でPDFを結合する
- できあがったファイルを、ブラウザがダウンロードして戻す
つまり、結合という作業そのものは相手のコンピュータで行われています。請求書に書かれた取引先名と金額、診断書の病名、身分証の番号は、いったん他人の設備の上に置かれます。
違法ではありませんし、不正でもありません。多くの事業者は「処理後◯時間で削除します」と明記していますし、実際に削除しているのでしょう。問題は別のところにあります。
削除の約束は、確かめられない
「1時間後に削除します」という表示を、利用者の側から確認する方法はありません。削除されたことも、その前にコピーが作られなかったことも、外からは見えないからです。
信頼できるかどうかではなく、確かめようがないというのがこの構造の性質です。
そして書類の種類によっては、そこが効いてきます。
- 取引先の名前と金額が入った請求書 — 秘密保持契約を結んでいる相手のものが混じります
- 診断書・処方箋 — 医療情報は、多くの国と業界で特別扱いされます
- 身分証の写し — 一度漏れると回収できない種類の情報です
- 契約書の草案 — 締結前の条件が外に出ると、交渉そのものが壊れます
勤務先の規程で「業務データを外部サービスにアップロードしてはいけない」と決まっている場合、この手のサービスの利用はそのまま規程違反になります。悪意がなくても、手順を1つ踏んだだけで違反が成立します。
送らずに結合する
一方で、PDFの結合はサーバがなくてもできる作業です。
PDFという形式は、ページの中身(文字・画像・フォント)と、ページの並び順を別々に持っています。2つのPDFを結合するとき、中身を作り直す必要はありません。両方の中身を1つの入れ物に詰め直して、並び順を書き直すだけです。
この処理は、いまのブラウザなら中で完結できます。ブラウザには次の3つが揃っているからです。
- File API — 選んだファイルの中身を、ページ内のプログラムから読む
- PDFを組み立てるプログラム — ブラウザ上で動くものが公開されています
- Blob と ダウンロード — できあがったデータを、通信せずに保存させる
どこにも「サーバへ送る」段階がありません。ファイルはブラウザのメモリの中で読まれ、結合され、保存されます。端末から一歩も出ません。
道具棚のPDF結合はこの方式です。同じ考え方は画像一括リサイズでも使っていて、詳しい仕組みは「アップロード不要」の画像ツールは、中で何が起きているのかに書きました。
自分で確かめる
「送信していません」という表示も、それ自体は先ほどの「削除します」と同じで、書いてあるだけのものです。ただしこちらは確かめられます。
方法1: 通信を切る
- PDF結合のページを開く
- Wi-Fiを切る(機内モードにする、LANケーブルを抜く)
- そのままPDFを選んで、結合する
通信が切れているのに結合できたなら、サーバは関与していません。これがいちばん分かりやすい確認方法です。
注意: このとき、結合ボタンを押す前に通信を切ってください。道具棚のPDF結合は、PDFを扱う部品(約512KB)を「結合を押した時点で」取りに行く作りにしています。ページを軽く保つためですが、そのぶん部品を取りに行く通信だけは必要です。一度読み込めばあとは不要なので、1回結合してから通信を切って2回目を試す、という順でも確かめられます。
方法2: 開発者ツールで見る
F12キー(macOSはCommand + Option + I)で開発者ツールを開く- Network タブを選ぶ
- PDFを選んで結合する
- 一覧に出てくる通信を見る
送信していれば、ファイルサイズに見合った大きさの POST や PUT が並びます。何も出なければ、何も送っていません。
この確認は、どのサービスに対しても使えます。 気になるサービスがあれば、同じ手順で見てみてください。宣伝文句を読むより早く分かります。
ブラウザ内方式にも限界はある
公平を期すために、できないことも書いておきます。
- 端末の処理能力とメモリを使います。 数百MBのPDFを何本もまとめると、古い端末では重くなります。道具棚では1ファイル100MBを上限にしています
- 暗号化されたPDFは扱えません。 パスワード付きのファイルは、先にパスワードを解除する必要があります
- 部品の読み込みに通信が要ります。 前述のとおり、初回だけです
逆に言えば、これらに当てはまらない普段の書類仕事であれば、送る理由はほとんどありません。
まとめ
PDFの結合は、もともとサーバを必要としない作業です。それでも多くのサービスがアップロードを求めるのは、そのほうが作りやすかった時代の名残という面があります。
秘密保持契約のある資料、医療の記録、身分証の写し、締結前の契約書 — こうしたものを扱うときは、「削除します」という約束に頼るより、そもそも送らないほうが確実です。そして送っていないことは、通信を切るだけで自分で確かめられます。