我知道PDF和文本可搜索的PDF之间存在差异。文本可搜索的PDF具有用于搜索的文本覆盖。是否可以将此文本叠加层提取到txt文件中?也许使用Adobe API?
答案 0 :(得分:13)
“可搜索的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中的任何其他文本部分相同(除了它们包含更多的拼写和语法错误:-) - 但它们使用特殊的文本呈现模式(模式{ {1}}),描述为“无论是填充还是描边文本(不可见)。”虽然它是“隐形的”,但您仍然可以突出显示,复制'n'粘贴或提取这些文本部分。