📎

提取 PDF 附件

检查标准嵌入文件并下载 ZIP

PDF 内嵌附件
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月30日
⏳加载工具中…

工具说明

扫描器遍历目录 Names/EmbeddedFiles 名称树,并验证嵌套节点、循环与文件描述。它保留原始显示名称、重复条目和合法零字节文件,再分配安全唯一的下载名称,打包为一个需明确点击下载的 ZIP。支持未压缩流与不使用预测器的普通 FlateDecode;无效条目或不支持的过滤器会终止整个扫描,不会被静默丢弃。不扫描页面 FileAttachment 批注、AF 关联文件、外部链接或文件包结构。解压采用流式读取,到达解压字节预算后取消。限制:输入 PDF 20 MiB、200 页、100 个附件,解压后单个 16 MiB、合计 64 MiB。不会自动打开附件。

场景配方

01

导出普通附件与空文件

目标:检查标准嵌入文件并下载 ZIP

  1. 载入包含 notes.txt 与 empty.txt 的示例。
  2. 下载前检查数量与解压后大小。
  3. 下载 ZIP,确认 empty.txt 保留为零字节文件。

结果:两条附件保持独立,不会自动打开。

失败门诊(高频踩坑)

为什么阅读器能看到这里没有的附件?

原因:本扫描仅支持目录中的标准 EmbeddedFiles;阅读器还可能显示页面附件批注、AF 关联或文件包功能。

修复:先在 PDF 阅读器中确认附件来源;若保存在页面批注或 AF 中,请使用支持该容器的工具。

重复或不安全的名称如何处理?

原因:条目保持独立,路径和不安全字符会替换;不区分大小写的重名会在 ZIP 中添加确定的数字后缀。

修复:通过 JSON 中 originalName/downloadName 映射识别 ZIP 条目,不要按原始名称合并条目。

生产可用片段

导出普通附件与空文件

text

notes.txt -> Sample attachment\n
empty.txt -> 0 bytes
Catalog scope: Names/EmbeddedFiles

常见问题

为什么阅读器能看到这里没有的附件?

本扫描仅支持目录中的标准 EmbeddedFiles;阅读器还可能显示页面附件批注、AF 关联或文件包功能。

重复或不安全的名称如何处理?

条目保持独立,路径和不安全字符会替换;不区分大小写的重名会在 ZIP 中添加确定的数字后缀。

空附件算错误吗?

不算。合法零字节流会保留为空文件;缺失或损坏的流才报错。

继续浏览