提取 PDF 内嵌附件
文档所有处理都在浏览器本地完成,数据不上传服务器
把文件拖到这里,或点击选择
PDF · 单个文件不超过 100 MB
PDF 里可以整个夹带别的文件,阅读器通常在侧边有个「附件」面板 —— 但没人会去点那一下。这个工具把里面的附件列出来并导出。 为什么要看这个:内嵌附件是一个正经的攻击面。把 `.exe` / `.js` / `.hta` 藏在发票、简历、报价单里,再靠「打开附件」骗人执行,是流传了很多年的一类手法。而「这份 PDF 里到底夹了什么」是个用浏览器本地就能回答的问题。 ⚠️ 只列出与解出内容,不执行任何东西,也不提供「打开」入口。 附件是不可信数据。可执行文件与脚本会被标出来,但标出来不等于拦住 —— 下载之后要不要双击是你的事,所以这里给的是提示而不是拦截。另外:没被标出来的也不等于安全,判断只看扩展名。 ⚠️ 内嵌附件与页面上的图片、正文里的链接不是一回事:扫描件里的图、正文中的超链接都不会出现在这里。要找页面里的图,请用「PDF 提取图片」。
功能
- 列出 PDF 里所有内嵌附件的文件名、大小与说明
- 逐个导出成文件,MIME 按二进制给(不给浏览器「这是可渲染内容」的暗示)
- ⚠️ 标出可执行文件与脚本,包括 `发票.pdf.exe` 这种双扩展名伪装
- 读不出内容的附件也会列进清单,而不是悄悄少一个
- 清单能一键复制走,便于留档或转给别人
- 全程只读,不执行附件、不打开任何东西
- 文件不上传、不经过任何服务器
使用方法
- 把要检查的 PDF 拖进来
- 第一张卡片是附件清单,后面每个附件一张卡片
- 核对清单里的文件名与「可执行文件」标记
- 需要的话逐个下载,或把清单复制走
常见问题
- 「内嵌附件」和页面里的图片有什么区别?
- 内嵌附件(embedded files)是 PDF 里单独存着的一整个文件,阅读器通常在侧边栏给一个「附件」面板,双击就能打开或另存。页面上的图片、正文里的超链接、注释里的文件都没有这个性质 —— 它们是页面内容的一部分。所以「这份 PDF 有没有夹带东西」问的正是前者,用这个工具查;要抽页面里的图,用「PDF 提取图片」。
- 标了「可执行文件」是不是就一定有毒?
- 不是。这里只按扩展名判断,所以:① 一个正常的自动化脚本(`.sh`、`.ps1`)也会被标出来;② 没被标出来的也不等于安全 —— 恶意文件可以是 `.doc` 里带宏、可以是伪装成别的类型、也可以就是一份正常的 PDF。这条标记的作用是把注意力引过去,不是给出结论。真正的判断只能靠你自己核对来源:这份 PDF 是谁发来的、你期待它里面有什么。
- 为什么不能给 PDF 添加附件?
- 因为做不到「说清楚哪一个是主体」。添加附件需要「一份 PDF + 若干附件文件」这种输入,而这类文件工具的外壳是「拖进若干文件 → 产出若干文件」的模型 —— 它表达不了「第一个是主体、其余是附件」。硬凑只能约定「第一个 `.pdf` 是主体」,而那种约定在你拖错顺序时不会报错,只会安静地把你要附加进去的那份 PDF 当成主体、输出一份莫名其妙的结果。所以这个方向没做。
- 附件会上传吗?会执行吗?
- 都不会。解析用的是打包进本页面的 pdf.js,全程在本机内存里完成,没有网络请求。附件只是被解成字节、包成一个下载 blob —— 不执行、不解析、不渲染,也不提供任何「打开它」的入口。
相关工具
PDF 信息
文档查看 PDF 的页数、每页尺寸与方向、是否加密、表单字段数以及标题作者等元数据。可导出文本或 JSON,文件不上传。
PDF 提取图片
文档把 PDF 里内嵌的图片抠出来。JPEG 原样导出(画质零损失),PNG 类的重新拼成 PNG,不支持的编码会说明。多张图打包成一个 ZIP。
PDF 删除重复页
文档按文字内容找出 PDF 里重复的页面并删掉,保留第一次出现的那一页。结果里逐页列出删了哪几页、和哪一页重复。文件不上传。
PDF 合并
文档把多个 PDF 按选择顺序合并成一个,也可以只取每个文件的指定页。可自定义输出文件名,合同与票据不上传,全程浏览器本地完成。
PDF 拆分
文档按页码范围提取页面,或每 N 页切成一个文件。产物文件名带页码范围,拆完直接发给别人也看得懂。不上传,浏览器本地完成。
图片转 PDF
文档把多张 JPEG、PNG 合成一份 PDF,每张图一页。页面可与图片同尺寸或固定 A4 等纸张,横竖方向自动。图片不上传,浏览器本地完成。