你的 PDF 到底传没传出去:三种自己动手验证的方法

"我们很安全"是一句不可证伪的话。用断网测试、DevTools 网络面板和资源加载形态三种方法,自己验证任何在线工具有没有上传你的文件;并说明浏览器本地处理的实现原理、代价,以及什么时候该选云端。

你的 PDF 到底传没传出去:三种自己动手验证的方法

每天有大量的合同、身份证扫描件、银行流水、体检报告,被人拖进搜索结果第一个跳出来的"免费在线 PDF 合并"网站。

大多数人不会去想文件去了哪里。而所有这类网站都会告诉你"我们很安全"——这句话本身是不可证伪的,你没有任何办法从一句声明里判断真假。

好消息是:你不需要相信任何人的说法。在线工具有没有把你的文件传出去,是可以自己验证的,三种方法,都不需要专业工具,几分钟就能得出结论。

本文讲的是方法,不是结论。你可以拿它去测任何一个在线工具——包括本站。


方法一:断网测试(最粗暴,也最决定性)

原理很简单:如果文件必须上传到服务器才能处理,那么断网之后这个功能一定跑不完。

操作步骤:

  1. 正常打开工具页面,等页面完全加载好
  2. 断开网络——拔网线、关 Wi-Fi,或者打开系统的飞行模式
  3. 现在再选择文件,走完整个流程:上传 → 处理 → 下载结果
  4. 看结果

判读标准:

现象 结论
流程走完,成功下载到正确的结果文件 处理在本地完成
卡在"处理中"、转圈不动,或报网络错误 需要服务器参与

有两个坑要注意,否则会误判:

坑 1:先加载页面,再断网。 顺序反了必然失败——页面本身就下载不下来,这不能说明处理逻辑在哪。

坑 2:页面能离线打开 ≠ 处理在本地。 很多站用了 Service Worker 做离线缓存,断网后页面照样能打开,但一点"开始处理"就报错。所以必须测完整流程直到拿到结果文件,光看页面能不能打开没有意义。

这个方法的说服力在于它绕开了一切话术:能在完全断网的情况下把 100 页 PDF 合并好并下载下来,那这件事就只可能发生在你自己的设备上。


方法二:看 DevTools 的网络面板

断网测试给的是"是/否",网络面板能告诉你具体传了什么、传了多大

操作步骤:

  1. F12 打开开发者工具,切到 Network(网络) 面板
  2. 点一下 🚫 清空现有记录,勾选 Preserve log(保留日志)
  3. 现在才选择文件并开始处理
  4. Size(大小) 列排序,看有没有体积可观的出站请求

关键判读点:

要公平的地方: 几 KB 的小请求是正常的,统计分析、错误上报、字体、埋点都长这样,它们不是在传你的文件。判断标准是体积和你的文件对得上的出站请求,而不是"有没有网络请求"。任何页面都会有网络请求。


方法三:看它下载了什么

这是个反向信号,而且相当可靠:本地处理和云端处理,资源加载的形态完全不同。

在 Network 面板里看进站的资源:

本地方案的特征 —— 会拉一些明显偏大的东西:

云端方案的特征 —— 前端很轻:

所以一个简单的心智模型:

它下载了几十 MB 却什么都没传出去 → 本地。 它下载了几百 KB 却传出去了 8MB → 云端。

这也解释了一个常被误解的现象:本地 AI 工具第一次用为什么这么慢。因为它在把整个模型下载到你的浏览器里。这恰恰是它不上传的代价,也是它不上传的证据。


为什么现在浏览器能做这些事

五年前这篇文章写不出来——那时候大部分处理确实只能放服务器。变化来自几项浏览器能力的成熟:

能力 让什么成为可能
WebAssembly 把 C/C++/Rust 写的图像、加密、模型推理库直接搬进浏览器,速度接近原生
Web Crypto API crypto.subtle 原生提供 AES-GCM、SHA-256、HMAC、RSA,硬件加速,不需要自己实现密码学
Canvas / OffscreenCanvas 像素级图像处理、格式编码(JPEG/WebP/PNG)、下采样,可在 Worker 里跑不卡界面
File API / Blob 读本地文件、在内存里生成新文件、直接触发下载,全程不经过服务器
设备性能 现在一台普通笔记本的内存和 CPU,足以在内存里重组一个几百页的 PDF

具体到实现层面,这些工具在浏览器里做的事情是很实在的:

这些都不是"把服务器搬到前端"的取巧——是这些能力本来就在浏览器里。


本地处理的代价(这节很重要)

如果只讲好处,这篇文章就变成了它一开始批评的那种营销文案。本地方案有实实在在的取舍:

1. 首次加载可能很重。 需要模型的功能(比如 AI 抠图),第一次用要下载几十 MB。之后浏览器会缓存,但第一次的体验确实不如云端。

2. 受设备内存限制。 服务器有几十 GB 内存,你的浏览器标签页没有。一个几百 MB 的 PDF,或者一次几百张图的批处理,在本地可能直接把标签页搞崩——而云端服务能轻松吃下。

3. 有些事本地真做不了。 高质量 OCR、需要 GPU 集群的大模型推理、跨设备同步、处理历史记录、团队共享链接——这些依赖服务端,不是浏览器不努力。

4. 手机上会明显更慢。 移动设备的 CPU 和内存都吃紧,同样的操作耗时可能是桌面端的数倍。

5. 关掉标签页就没了。 没有服务端任务队列,你不能提交完就走人。


那什么时候该用云端

该用云端的场景:

不该用云端的场景——这些内容一旦离开你的设备,你就失去了对它的控制:

对这一类文件,多花三分钟做一次断网测试,是完全值得的。


拿本站测一遍

本站的工具全部在浏览器本地运行,不上传任何文件。但你不需要相信这句话——用上面三种方法测一遍就知道了,尤其推荐断网测试。

处理敏感文件的常用几个:

顺带一提:加解密类工具尤其不该用云端的。把明文和密码一起发给服务器,加密这件事本身就失去意义了。