跳到内容

📄 PDF 文件

各种大小的测试用 PDF 文件

✅ 永久免费 🚫 无需注册 ⚡ 即刻下载
100 KB PDF

102,400 bytes

application/pdf

100 MB PDF

104,857,600 bytes

application/pdf

10 KB PDF

10,240 bytes

application/pdf

10 MB PDF

10,485,760 bytes

application/pdf

1 MB PDF

1,048,576 bytes

application/pdf

25 MB PDF

26,214,400 bytes

application/pdf

500 KB PDF

512,000 bytes

application/pdf

50 MB PDF

52,428,800 bytes

application/pdf

5 MB PDF

5,242,880 bytes

application/pdf

关于PDF 文件

免费提供从 10 KB 到 100 MB 的测试用 PDF,可用于上传大小限制测试、验证 PDF 处理库、确认邮件附件上限以及报表生成系统的性能测试。

PDF 在文件末尾保存指向对象位置的交叉引用表(xref),因此传输中断会导致整个文档无法读取,很适合用于截断检测测试。

常见使用场景

相关参考与文章

📖 常见的坑

从 10 KB 到 100 MB、按字节对齐的 PDF,可用于确认上传上限与验证 PDF 处理库。内容为测试而生成,不含真实文档那样的嵌入字体、表单与批注。要试这些请改用手边的真实文件。

情形 会发生什么 怎么处理
gzip 压缩后没变小 PDF 内部的流已经用 Flate 压过。传输时再压一次最多省几个百分点,只是白费 CPU。 不要把 application/pdf 加进 nginx 的 gzip_types,默认也不包含。想省带宽,减少页数或图片分辨率更有效。
很小的 PDF 却把内存吃光 所需内存取决于解码后的内容而非文件大小。1 MB 的 PDF 里若有 10,000 × 10,000 像素的图片,渲染时会占用数百 MB。 除大小外还要限制页数与分辨率。使用 Ghostscript 或 pdftoppm 时显式指定 -r(dpi),并逐页处理以释放内存。
非 PDF 文件被当作 PDF 放行 Content-Type: application/pdf.pdf 扩展名都只是发送方的自我声明,两者都不构成校验。 检查开头 4 字节是否为 25 50 44 46%PDF)。同时确认结尾是否有 %%EOF,还能顺带发现截断。

通过了大小与格式,仍需另行处理加密 PDF、内嵌 JavaScript 的 PDF、引用外部资源的 PDF。仅供浏览就交给沙箱内的查看器;若在服务器端打开,请禁用 JavaScript 执行。