两个 PDF 并排放在一个文件夹中。两者的页数相同。两者均于同一年创建。您在两者中输入相同的搜索词。几乎立即返回结果。另一个暂停,显示旋转的进度指示器,并花了几秒钟报告在第十二页找到了该术语。这两个 PDF 之间的搜索速度差异不是随机的。它取决于 PDF 的创建方式、文本是嵌入的还是 OCR 生成的、字体的编码方式以及文档结构是否包含搜索优化功能。了解为什么某些PDF可搜索文档的搜索速度比其他文档更快,有助于您创建可高效搜索的 PDF 并诊断需要注意的缓慢搜索文档。

PDF 搜索的实际工作原理
当您搜索 PDF 时,查看者不会扫描可见页面图像来查找字符形状。它查询嵌入在 PDF 文件中的文本内容流。每个页面都包含一个或多个内容流,其中列出了页面上的字符、它们的位置以及用于显示它们的字体。搜索功能按顺序逐个字符地读取这些内容流,寻找与搜索项的匹配项。此顺序扫描的速度取决于文本数据的组织方式。
具有结构良好的内容流的 PDF(其中文本按逻辑阅读顺序显示且编码一致)的搜索速度与查看者从磁盘读取数据的速度一样快。具有碎片内容流的 PDF(其中单个段落的文本以非顺序顺序分散在多个流对象中)会强制搜索功能在文件的不同部分之间跳转,从而在搜索之前重新组合内存中的文本。内容流的PDF格式结构是搜索速度的主要决定因素。
尝试 PDF OCR
无需安装。直接在您的浏览器中工作。
搜索性能中的嵌入文本与 OCR 文本
嵌入文本是在文字处理器或布局应用程序中编写并直接写入 PDF 的文本,存储为字符代码序列。每个字符在内容流中占据一个已知位置。搜索功能线性读取流并有效地找到匹配项。 OCR PDF文本(通过光学字符识别扫描页面图像生成的文本)的存储方式不同。 OCR 引擎将每个识别的单词放置在页面上的大致位置,但这些单词在内容流中可能不符合严格的阅读顺序。
OCR 文本也可能包含识别错误。即使页面上的可见字符看起来正确,被 OCR 引擎误读为不同字符的字符也不会与搜索词匹配。即使 OCR 引擎输出错误识别并将其放入内容流中,搜索合同也不会找到合同。搜索功能看不到页面图像。它只能看到 OCR 文本。该文本中的错误会直接导致搜索失败。
字体编码及其对搜索的影响
PDF 中的字体可以通过多种方式进行编码,编码会影响搜索速度。具有标准编码的字体(例如 WinAnsiEncoding 或 MacRomanEncoding)将字符代码直接映射到标准字形。由于映射很简单,搜索功能可以快速处理该文本。具有自定义编码的字体,其中字符代码由字体设计者任意分配,需要搜索功能在字体编码表中查找每个代码以确定其代表什么字符。此查找增加了每个字符比较的开销。
CID 字体用于东亚字符集,使用两级编码,将字符代码映射到 CID 值,然后将 CID 值映射到 Unicode。搜索 CID 编码字体中的文本需要解析每个字符的两级映射。包含采用 CID 编码字体的中文、日文或韩文文本的 PDF 的搜索速度会比包含采用标准编码字体的英文文本的 PDF 慢,这纯粹是因为额外的编码分辨率步骤。创建 PDF 时所做的 PDF 字体编码选择会影响文档整个生命周期的搜索性能。
页面结构树在搜索中的作用
带标签的 PDF 包含一个结构树,它将文档内容组织为逻辑元素,例如章节、段落和图形。结构树为搜索功能提供了文档的路线图。搜索功能可以导航结构树以定位特定文档部分中的文本,而不是从文件开头线性扫描内容流。带标签的 PDF 中的搜索速度会更快,因为结构树提供了平面内容流所缺乏的索引。
未加标签的 PDF 占流通中 PDF 的大部分,缺乏这种结构树。搜索功能别无选择,只能顺序扫描内容流。对于较短的文档,差异可以忽略不计。对于数百或数千页的文档,结构树的存在或不存在可能会导致近乎即时的搜索结果和明显的延迟之间的差异。创建标记的 PDF 是一种辅助功能最佳实践,也有利于 PDF 可搜索 性能。
PDF 中的嵌入式搜索索引
某些 PDF 创建工具可以将搜索索引直接嵌入到 PDF 文件中。该索引是一个预先构建的查找表,将单词映射到它们出现的页面。具有嵌入索引的 PDF 几乎可以立即进行搜索,因为搜索功能查询索引而不是扫描内容流。索引查找返回单词出现的页码,查看者可以直接跳转到这些页面。
嵌入式索引在通用 PDF 中并不常见,因为它们会增加文件大小和索引创建时间。它们最常见于大型参考 PDF、技术手册和文档集中,其中搜索速度是优先考虑的。默认情况下,大多数 PDF 创建工作流程不包括索引生成。没有嵌入索引是常态。当您遇到一个 PDF 的搜索速度明显快于其他类似大小的 PDF 时,嵌入索引可能就是原因。
您可以采取哪些措施来提高搜索速度
如果您创建的 PDF 会被频繁搜索,请将其生成为带有标准字体编码的标记 PDF。除非无法满足设计要求,否则避免使用自定义字体编码。如果 PDF 将包含非拉丁文本,请在对完整文档采用编码方法之前测试示例的搜索性能。对创建设置的少量投资可以让每个使用该文档的人更快地进行搜索,从而获得回报。
对于搜索缓慢的现有 PDF,请考虑使用可生成更清晰内容流的现代引擎重新 OCRing OCR 生成的文本。通过结构分析工具运行 PDF,如果文档当前未加标签,该工具可以添加标签。 WukongPDF 支持OCR PDF 重新处理和文档标记,可以提高现有 PDF 的搜索性能,而无需从源文档重新创建它们。
PDF 创建日期和用于创建 PDF 的软件版本可以解释搜索速度的差异。与 2008 版旧版工具创建的 PDF 相比,2024 版现代 PDF 库创建的 PDF 可能具有更清晰的内容流和更高效的文本编码。 PDF 格式已经发展,更新的创建工具可以生成结构更好的文件。
对于作为文档管理工作流程的一部分经常搜索的 PDF,请考虑提取文本并构建外部搜索索引。具有全文搜索索引的文档管理系统查询索引,而不是 PDF 内容流。搜索速度变得与 PDF 内部结构无关。
PDF 中使用的字体数量会影响搜索速度,因为每次字体更改都需要搜索功能加载新的编码表。在所有其他因素相同的情况下,使用两种字体的 PDF 搜索速度比使用 20 种字体的 PDF 更快。
文档的PDF可搜索性能在创建时由字体编码、内容流组织、文档标记和索引嵌入的选择决定。这些选择对于文档作者来说是不可见的,但对于搜索文档的任何人来说都是显而易见的。
对于经常搜索的文档集合,每次用户键入查询并收到近乎即时的结果时,创建结构良好、带有标准字体编码的标记 PDF 的投资就会得到回报。
本文介绍了在此特定场景中处理 PDF 的关键技术和注意事项。这里描述的方法适用于不同的工具和平台,使读者可以灵活地选择最适合其工作流程和技术环境的方法。
概述的实际步骤提供了从最初的挑战到可行的解决方案的清晰路径。每种技术都因其可靠性和可访问性而被选择,以确保读者无论以前使用 PDF 工具的经验如何,都可以获得一致的结果。
本文中描述的搜索速度差异是 PDF 创建过程中所做选择的直接结果。了解这些因素有助于文档创建者生成可提供更好搜索体验的 PDF。
本文中描述的工具和技术提供了从最初的问题到可应用于各种文档和场景的工作解决方案的实用路径。
尝试 PDF OCR
无需安装。直接在您的浏览器中工作。
