有没有比 pdftotext 更好的 pdf 转文本转换器?

有没有比 pdftotext 更好的 pdf 转文本转换器?

我正在使用 pdftotext(poppler-utils 的一部分)将 PDF 文档转换为文本。在大多数情况下,它都能正常工作,但我希望它能在各个段落之间插入空行,而不是将它们混在一起。

有没有办法让 pdftotext 做到这一点?如果没有,还有其他 pdf 转文本实用程序可以做到这一点吗?

答案1

如果你正在使用pdf转文本您可以使用该-layout标志来保留输入 pdf 文件页面上的文本布局:

pdftotext -layout input.pdf output.txt

答案2

您可以ebook-convert尝试口径。

如果有什么问题的话,我想说它的错误在于另一个方面:换行太多。

我肯定会考虑的另一件事是使用pdfreflow,然后将HTML转换为TXT。

答案3

作为开源(和自动化)的粉丝,我不想这么说,但我刚刚得到的最佳结果(在相当大的复杂 PDF 上)是在 Adob​​e Reader 中打开它,然后选择文件|另存为文本。

(我正在进行文本分析实验的预处理,而不是作为读者,但我认为我的第一选择和第二选择是相同的。)

我一直在并排比较输出。我的第二个选择是 ebook-convert。

Adobe:保留 FF 作为分页符,保留页码,未将标题/段落转换为单行,但已修复连字符。PDF 中隐藏的垃圾未输出。正确获取了章节开头的大写字母,例如“The”,而不是“T he”甚至“T he”。

电子书转换:保留页码,并在页眉/页脚中隐藏一些垃圾(但没有 FF)。将大多数段落转换为单行。但它错过的是双倍行距!项目符号并不总是与文本对齐。在章节开头正确显示“The”。

pdftotext(不带 --layout):还不错,项目符号排列整齐,但页眉/页脚有杂音。FF 在其中。连字符已删除。最糟糕的是章节开头的大写字母:“T\n\nhe”。

pdftotext(带有 --layout):类似,但缩进更多。“T he” 表示章节开始。

pdftohtml >> pdfreflow >> htmltotext:删除了页码,但页眉/页脚中仍有垃圾内容。“T he”表示章节开始。删除了连字符。(每个段落使用多行,但它们与其他版本中的换行符不同!)

答案4

我还尝试了 pypdf,并在两个文档上将其与 pdftotext 进行了比较。它有更多的换行符,并且拆分了一些章节名称(参考文献是参考文献)。

pdf2txt 确实输出了完整的垃圾。

如果 pdftotext 输出结果不理想,我通常会使用 pdfBox (java)。您可以尝试一下。

相关内容