pd00 を作った理由
写真を変換したり、2 つの PDF を結合したりするためだけに、個人的な書類を見知らぬ誰かのサーバーに預ける必要はないはずです。それでも、多くのオンライン変換サービスはいまだにその方式で動いています。アップロードして、待って、ダウンロードし、相手側に残ったコピーが約束どおり削除されることを願うしかありません。今のブラウザは、こうした処理を自分でこなせます。pd00 は WebAssembly とブラウザ標準の画像コーデックを使い、すべての処理をお使いのパソコンやスマートフォン上で行います。
名前はあえて短くしています。「pd」は PDF の意味で、短いアドレスなら、フォームに iPhone の写真をはじかれたときでもスマートフォンですぐに入力できます。
技術構成
- HEIC のデコードには、WebAssembly にコンパイルした libheif(LGPL-3.0)を使用しています。WebP と AVIF はブラウザ内蔵のデコーダーで処理します。
- PDF の編集(結合、分割、回転、ページ番号、透かし、パスワード)には pdf-lib(MIT)を、サムネイル・画像・テキストのためのページの読み込みには Mozilla の pdf.js(Apache-2.0)を使用しています。TIFF ファイルは UTIF(MIT)でデコードし、ZIP ファイルは client-zip(MIT)で作成しています。
- 写真のメタデータ(EXIF とカラープロファイル)は、外部ライブラリに依存しない小さな自作コードで読み書きしているため、変換後もそのまま残ります。
- サイトは静的なもので、Cloudflare のネットワークから配信されています。ファイルに触れるサーバー側のコードは一切なく、サーバーのエンドポイントはヘルスチェック用の 1 つだけです。
「何もアップロードされない」という説明を鵜呑みにする必要はありません。DevTools での確認方法を使えば、1 分ほどでご自身で確かめられます。また、ページのセキュリティポリシーにより、ブラウザが接続できるのは pd00.com と、ファイルを一切受け取らない Cloudflare の匿名ページビューカウンターだけです。
お問い合わせ
不具合の報告、うまく変換できないファイルのサンプル(共有しても差し支えないファイルだけをお送りください)、機能のご要望は hello@pd00.com までお寄せください。