WhatsInMyPDF
← 文章

如何检查 PDF 里的隐藏文字

2026年6月2日

一份 PDF 可以携带你从未看到的文字。页面看起来干净,但底层文件里可能藏着与背景颜色相同的文字,缩小到不足一点(pt),被推到页面边缘之外,或者被放进一个默认关闭的图层。这些内容在阅读文档时都不会显示。但它们都仍在文件里,任何提取文字的程序——搜索引擎、简历解析器、AI 摘要工具——都能完整读到它们。

这篇文章介绍两种检查方法:在任意 PDF 阅读器里就能完成的快速手动方法,以及能捕捉手动方法遗漏情况的结构扫描。

隐藏文字为什么存在

要理解文字藏在哪里,先要知道 PDF 是如何存储文字的。一份 PDF 同时保存着两样看起来应该一致、实际却未必一致的东西:可视页面,也就是一组绘制指令,以及文本层,也就是放置在具体坐标上的实际字符数据。当你用鼠标选中文字时,选中的是文本层。当你查看页面时,看到的是绘制指令渲染出的结果。

这两者可以互相矛盾。文字可以留在文本层里,而绘制指令让它变得不可见——颜色与页面相同、字号为零、被推到一旁,或者被明确设置成“渲染但不画出任何东西”的模式。这些文字对提取而言完全存在,对人眼而言完全不存在。这个落差,就是整套把戏的关键。

最快的手动测试:全选并复制

最快的检查不需要任何工具。打开 PDF,按 Ctrl+A(Mac 上是 Cmd+A)选中页面上的全部内容,复制后粘贴到一个纯文本编辑器里。

然后对比。如果粘贴出来的文字里出现了页面上看不到的句子、段落或指令,你就发现了隐藏文字。这是因为“全选”抓取的是整个文本层,无论它是如何被绘制出来的。白底白字会像普通文字一样被高亮、被复制——选中框往往会在原本看起来空白的地方显出一条淡淡的色带。

拖动选择时留意两个信号:

  • 空白区域出现高亮矩形。如果空白的边距或间隙在选中时亮了起来,说明那里有内容。
  • 粘贴出来的内容比你读到的更长。一份单页文档粘贴出三页文字,说明还有两页藏在某处。

这个方法对最常见的手法——把文字颜色调成和背景一致——非常可靠,而且只需要十秒钟。

它的局限

全选复制是一个好的第一步检查,但并不完整。它会漏掉几种真实存在的情况:

  • 页面外文字位于裁剪区域之外,普通的拖动选择可能选不中,复制可见页面时也可能不会包含它。
  • 隐藏图层(默认关闭的可选内容)通常不会渲染,也不会被选中,但其中的文字仍留在文件里,能被其他软件提取。
  • 极小字号可能小到你根本注意不到那道高亮,尤其是背景比较杂乱的时候。
  • 批注——评论和便签文字——存在于单独的结构里,复制页面时往往根本不会带出来。

换句话说,这个手动测试能告诉你什么时候明显有问题,却不能告诉你文件是干净的。

手动开启隐藏图层

如果想手动排查图层,一些桌面阅读器提供了相应功能。在 Adobe Acrobat 里,侧边栏的图层面板会列出所有可选内容组,并允许切换它们的可见性。把每个图层都打开,重新读一遍页面。只有在打开一个默认关闭的图层后才出现的内容,就是作者选择默认不展示给你的内容。大多数阅读器,包括浏览器自带的 PDF 阅读器,根本不提供图层面板,这正是基于图层的藏匿手法能够奏效的原因。

结构扫描

检查 PDF 更彻底的方式,是直接读取文件结构,而不是相信任何阅读器选择展示的内容。结构扫描会逐条走过文本层里的每一段文字,检查人眼无法判断的属性:相对页面背景的精确填充颜色、字号、相对裁剪框的坐标、渲染模式、每段文字所属的图层,以及文件中完全不参与渲染的部分——嵌入的附件、JavaScript、批注内容。

这正是本站扫描工具所做的事。你把一份 PDF 拖进去,它会解码文件,报告每一处隐形或近乎隐形的文字,连同页码和内容一起列出,报告每一个被隐藏的图层,以及任何匹配已知的、面向 AI 阅读者的指令模式的文字。它检查的是属性,不是像素,所以白底白字、渲染模式 3、极小字号这几种手法都会以同样的方式被发现——被标记出实际隐藏的文字和所在页码,交由你自己判断每一条发现。完全裁剪到页面之外的文字是唯一的例外:PDF 引擎会在文本提取之前就把它裁掉,所以没有内容可供引用。扫描报告转而给出通常伴随这种手法出现的裁剪框不匹配问题——页面的裁剪区域小于其完整的原始尺寸,是内容被裁出可视范围的一个信号。

它完全在你的浏览器里运行。文件在一个 WebAssembly 沙箱里本地解码,不会被上传——当你要检查的文件是一份合同、一份收到的简历,或是一篇尚未发表的论文时,这一点尤其重要。

一套实用的操作顺序

  1. 全选、复制、粘贴到文本编辑器里。读一读粘贴出来的内容,和页面对比。
  2. 如果你的阅读器有图层面板,把每个图层都打开,重新读一遍。
  3. 运行一次结构扫描,捕捉手动检查看不到的裁剪框不匹配(内容被裁出页面后留下的信号)、隐藏图层、极小字号、渲染模式手法,以及注入模式。
  4. 结合上下文读一读被标记的文字。不是每一条发现都是恶意的——一份裁剪过的扫描件或一个正当的小号图注标签都可能触发检测——但每一条发现都是有人放进文件、又不想显示在页面上的文字。

没有哪一种单独的检查是完备的,即使是一次干净的结构扫描,也不能证明文件安全:比如烘焙进图片里的文字,对文本层分析来说就是不可见的。但全选复制测试加上结构扫描这个组合,能捕捉到流通中绝大多数的隐藏文字手法,而且只需要一分钟。

想了解这类文字通常藏在哪些位置,可以看PDF 里文字可以藏在的 10 个地方。如果你发现的内容看起来是想操纵 AI 阅读者,而不只是躲开人眼,PDF 提示词注入解释了这类表述长什么样、又为什么会出现。

想现在就检查一份文件?用首页的工具扫描一份 PDF,查找隐藏文字。 它在本地运行,不会有任何内容离开你的浏览器。