PDF 里有隐藏的元数据吗?如何检查和清除
有。几乎每个 PDF 都带有你从没输入过的元数据:作者姓名、创建它的应用、写出 PDF 的软件,以及创建和最后修改的时间。往往还有标题和关键字,有时是从模板里遗留下来的。这些都不会显示在页面上,但收到文件的任何人几秒钟就能读到。
大部分内容都可以在 PDF 阅读器的“文档属性”中看到。要彻底清除,就要另存一份不含这些字段的新副本,还要检查 PDF 可能携带的其他隐藏内容,比如注释和表单答案,它们不属于元数据,但会以同样的方式泄露信息。
PDF 里有哪些元数据
PDF 把元数据存放在两个地方。文档信息字段就是阅读器显示的那些。很多文件还有一个 XMP 元数据块,可能重复同样的信息,还会增加更多内容。
- 作者(Author):通常是你的真实姓名或电脑用户名,由生成文件的应用自动填写。
- 创建者和制作程序(Creator 和 Producer):生成文件的应用和 PDF 软件,有时还带版本号,比如文字处理软件、薪资系统或扫描仪的软件。
- 创建日期和修改日期(Created 和 Modified):文件最初生成和最后保存的时间,通常精确到秒。
- 标题、主题和关键字(Title、Subject 和 Keywords):有时是特意设置的,往往是从模板或旧文档继承下来的。
- XMP 附加信息:取决于应用,可能包括文档 ID、编辑工具历史或版权声明等。
随 PDF 一起传出去的其他隐藏内容
元数据是大家知道的那部分。下面这些才是容易让人中招的:
- 注释和便签:像“先查一下他的薪水”这样的审阅意见,除非删掉,否则会一直留在文件里,即使注释面板是关着的。
- 表单字段答案:填好的表单会把答案作为数据携带,有些系统会直接读取。
- 隐藏的文字层:经过 OCR 处理的扫描版 PDF,在图片下面有一层看不见、可搜索的文字,包括你以为已经裁掉或盖住的部分。
- 方框下面的内容:在文字上画一个黑色或白色矩形,只是在屏幕上把它挡住,文字仍然在文件里,可以被复制出来。
- 附件:PDF 里可以包含其他文件,只在附件面板中显示。
- 早期版本:有些应用保存改动的方式是往文件末尾追加内容,所以旧内容可能仍然在文件里。
为什么这很重要:真实的例子
- 一份用中介模板做的租房合同,在“标题”字段里还留着上一位租客的名字。
- 发给新雇主的简历,“作者”字段里是你现任雇主的名字,因为你是在公司笔记本电脑上写的。
- 一份日期写着上周五的报价单,修改日期却是今天早上,在发生纠纷时可能会引起质疑。
- 一份涂黑过的工资单,“标题”字段里仍然显示着全名,所以涂黑什么都没保护到。
怎样检查你的 PDF 透露了什么
- 在电脑上用 PDF 阅读器打开文件。手机应用很少显示完整的属性。
- 打开“文档属性”。在 Acrobat Reader 中,它在“文件”下的“属性”里。在 Chrome 和 Firefox 的内置查看器中,它在查看器的菜单里。在 Mac 上,“预览”应用在“工具”下的“显示检查器”中显示它。
- 查看作者、标题、主题、关键字、创建者、制作程序、创建日期和修改日期这些字段。
- 如果你的阅读器有注释面板和附件面板,打开它们,看看有没有意料之外的内容。
- 在你盖住或涂黑的地方附近,试着选中并复制文字。如果能粘贴到别处,说明它还在文件里。
阅读器显示的是文档信息字段,而不是 XMP 块。如果你需要看到全部内容,免费的命令行工具 ExifTool 会把两者都列出来。
Kopitiam 会怎样处理元数据
Kopitiam 没有元数据编辑器,但每个工具处理元数据的方式是固定的,了解哪个是哪个会有帮助。
- “编辑 PDF”“合并 PDF”“拆分 PDF”“提取页面”“整理 PDF”和“PDF 涂黑”会用你的页面生成一个新文件。原来的标题、作者、主题、关键字和 XMP 块都不会带过去。创建者和制作程序会被设为 pdf-lib,即 Kopitiam 使用的开源库,两个日期都会被设为你下载的那一刻。
- “旋转 PDF”“PDF 加水印”和“添加页码”会把改动保存进同一个文件。原来的标题、作者、关键字和创建日期都会保留。制作程序会变成 pdf-lib,修改日期会变成你下载的时间。
- “压缩 PDF”的“无损”或“压缩图片”模式会清空标题、作者、主题、关键字、创建者和制作程序。创建日期、修改日期以及任何 XMP 块都会保留。
- “压缩 PDF”的“强力”模式会把每一页重建成新文件中的一张图片,所以原来的字段都不会带过去,文字也无法再选中。
清除元数据并不会清理页面。生成新文件的工具仍然会原样复制每一页,包括该页上的注释和表单字段。这些要单独检查,页面上任何必须去掉的内容,都要用“PDF 涂黑”,而不是画一个方框。
发送前快速清理文件的方法
- 按上面的方法检查文件,记下你想去掉的内容。
- 在“整理 PDF”中打开它,页面保持不动,点击“下载整理好的 PDF”。新副本不含原来的标题、作者、主题、关键字或 XMP 块。
- 如果页面上有要删除的文字,比如工资单上的 IC 号码,就改用“PDF 涂黑”,点击“涂黑并下载”。它同样会生成一个新文件,所以同样的元数据也会被去掉,而且被涂黑的文字是被删除了,而不只是被盖住。
- 发送前打开下载的副本,再检查一遍“文档属性”和注释面板。
新副本会显示它是由 pdf-lib 生成的,日期是今天。这透露的是写出文件的库,而不是你是谁,但还是值得知道。
特殊情况,以及什么时候不该用 Kopitiam
- 有密码保护或编辑限制的文件:Kopitiam 暂时无法打开加密的 PDF。请在阅读器中用密码打开文件,用“打印”再“另存为 PDF”生成一份未加密的副本。那份副本也是新文件,有它自己的元数据,所以也要检查。
- 扫描文档:制作程序字段里往往写着扫描仪或扫描应用的名字。如果扫描件有 OCR 文字层,“PDF 涂黑”会在你标记的区域删除那些隐藏文字,而不只是可见的图片。
- 非常大的文件:所有处理都在你的设备上进行,所以实际的限制是你设备的内存。一份 300 页的扫描件在旧手机上可能会很慢;电脑会处理得更好。
- 日期很重要的时候:如果一份记录必须保留原来的创建日期,就不要用会生成新文件的工具处理它。“旋转 PDF”“PDF 加水印”“添加页码”,以及“压缩 PDF”的“无损”或“压缩图片”模式,都会保留创建日期。“编辑 PDF”“合并 PDF”“拆分 PDF”“提取页面”“整理 PDF”“PDF 涂黑”和“强力”压缩会把它重置。
- 当你需要设置元数据时,比如给一份要发布的报告设一个正式的标题:请用生成该文档的应用。Kopitiam 无法写入自定义字段。
Kopitiam 的 PDF 工具在你的浏览器中运行,所以你要清理的文件在这个过程中不会被上传到服务器。对于敏感文档,这本身就是一半的意义所在。
常见问题
- PDF 里有隐藏的元数据吗?
- 有。大多数 PDF 都带有作者姓名、所用的应用和 PDF 软件、创建和修改日期,往往还有标题和关键字。这些不会出现在页面上,但会随文件一起传出去,任何人都能在“文档属性”中看到。
- PDF 能透露是谁创建的吗?
- 通常能。“作者”字段一般是根据你的应用或电脑账号自动填写的,可能是你的全名,也可能是你雇主的名字。把文件发给圈子以外的人之前,在“文档属性”中检查一下。
- 涂黑 PDF 会清除它的元数据吗?
- 不一定,因为元数据和页面是分开存储的。在 Kopitiam 中,“PDF 涂黑”会生成一个新文件,所以原来的标题、作者、关键字和 XMP 块都不会带过去。一定要在“文档属性”中检查下载的副本。
- Kopitiam 会添加它自己的元数据吗?
- 会生成或保存文件的工具会把制作程序设为 pdf-lib,即 Kopitiam 使用的开源库,并更新日期。“压缩 PDF”的“无损”或“压缩图片”模式则会清空制作程序。不会写入任何账号名或设备信息,因为 Kopitiam 并不知道这些。
- 能在手机上查看 PDF 的元数据吗?
- 只能看到一部分。很多手机 PDF 应用只显示文件名和大小。Acrobat Reader、Chrome 或“预览”等电脑上的阅读器会显示完整的“文档属性”,所以重要的文件要在那里检查。