我使用less,它使用pdftotext从less my.pdf的pdf文件中提取文本。这样,一些单词的字母由空格与pdf文件隔开。
CH APTE R 2 5 T E ST IN G WE B A P P LIC AT IO N S 540一些人声称Adobe没有问题。我没有程序来证实这一点。但是我想知道Linux中的哪个软件程序可以正确地提取单词呢?
发布于 2015-02-16 02:56:39
PDF及其大姐PostScript是用来创建文档的语言,每次将相同的输出复制到任何设备:监视器、打印机、印刷机等。因此,它允许文档的创建者单独指定每个字符的属性。如果不看您的文档,我只会猜测创建者将字符分开的原因。最常见的原因是角质。这是调整字符之间的空格的地方。
你很幸运,这些人物实际上都井井有条。创作者没有理由不能重新排列角色,这样他们就完全失去秩序了。即使它们看起来像页面上的单词,但在您的例子中,它们不是PDF代码中的单词。
发布于 2015-02-16 07:08:14
pdf是排版以产生可视输出,它甚至不需要包含文本信息。把它想象成一个印表板,上面放着铅字母。每个字母都是一个具有绝对位置、大小和风格的盒子。所有的图像也是如此等等。如果你有一个数学公式,你可以看到问题在哪里:谁说文本是线性的?你有一个混乱的象形文字,每一个位置和大小,无论原始创建者的意图。
您有可能从中获得一些真正文本的相似之处,因为pdf是一个精简(升级/调整)的postscript版本,并且仍然有命令一次“打印”更长的字符串(然后以嵌入式字体显示到指定的样式)。这就是你对pdftotext的看法。不过,如果原始应用程序的输出将其拆分成单词或字母以实现所需的视觉外观,则换行符、空格等可能会使人感到困惑。
如果文本被转换为bezier样条,或者文档已被扫描,则您将不走运。许多现代观众都有OCR的能力,所以一些基本的搜索和选择形式仍然有效。但是,不要期望得到格式良好的输出-文本提取大多是反向工程。
需要一个更结构化的文档来正确地处理这个问题--它既包含语义内容,也包含固定设备独立的显示功能。我们没有那个。html不适合分页输出,在这方面,oxps并不比pdf好多少。
https://unix.stackexchange.com/questions/185051
复制相似问题