8

我了解 PDF 和可文本搜索的 PDF 之间存在差异。可文本搜索的 PDF 具有用于搜索的文本覆盖。是否可以将此文本叠加层提取到 txt 文件中?也许使用 Adob​​e API?

4

1 回答 1

20

“可搜索的 PDF”不是官方定义,但它是一种常用的表达方式。

如果标准 PDF 嵌入了它使用的所有字体,并且如果这些字体不使用自定义编码,那么它很可能是“可搜索的”:这意味着您可以从中复制“n”粘贴文本,并且您可以提取来自它的文本(以及pdftotext或多或少完美无瑕的工具)。这与“文本覆盖”无关,它是 PDF 的标准架构。

您所描述的“文本覆盖”是可以添加到扫描的PDF 中的内容。通过扫描创建的 PDF 是整页图像,通常是 TIFF,嵌入在(否则为空)PDF 页面中。然后,在另一个步骤中,通过对其运行 OCR(光学字符识别)来添加“文本覆盖”。这为原本愚蠢的“仅像素”PDF 提供了“可搜索性”。

如果这种带有“文本覆盖”的 PDF 没有在其字体周围使用奇怪的结构,那么应该很容易将此文本提取到 *.txt 文件中。毕竟,在仅包含图像的 PDF 上运行 OCR 旨在添加“可搜索”文本:

  • 安装pdftotext(适用于 Linux、Unix、Windows、Mac OS X)然后尝试运行:

    pdftotext -layout some-input.pdf  some-input.txt
    

警告,大多数 OCR 远非完美。如果您对所有字符的识别率达到 99% ,那么您将很幸运。(但这意味着:大约 10% 的单词和大约 100% 的句子都包含错误——这会让你在高中时肯定会失败......)

还应该注意的是,这些“文本覆盖”在技术上与 PDF 中的任何其他文本部分相同(除了它们包含更多的拼写和语法错误:-)——但它们使用特殊的文本呈现模式(模式3),描述为“既不填充也不描边文本(不可见)。” 尽管它是“不可见的”,但您仍然可以突出显示、复制和粘贴或提取这些文本部分。

于 2012-10-04T23:43:51.557 回答