为什么做这个网站
转换一张照片、合并两个 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 的边缘节点上。服务器端完全没有接触文件的代码——唯一的服务器端点只是一个健康检查。
“不上传任何文件”这句话,你不必单凭信任来接受:用开发者工具检查大约一分钟就能看清楚;而且页面的安全策略只允许浏览器连接 pd00.com 和 Cloudflare 的匿名页面浏览计数器,后者从不接收文件。
联系方式
欢迎通过 hello@pd00.com 发送错误报告、转换失败的文件样本(请只发送你愿意分享的文件)以及功能建议。