问题描述
我正在使用pdftotext(poppler-utils的一部分)将PDF文档转换为文本。它在很大程度上起作用,但我希望它做的一件事是在单独的段落之间插入空行而不是将它们混合在一起。
有没有办法让pdftotext这样做?如果没有,是否还有另一个pdf to text实用程序可以执行此操作?
最佳解决办法
你可以试试Calibre.的ebook-convert
如果有的话,我会说它在另一个方向上犯了错误:断线太多了。
我肯定会考虑的另一件事是使用pdfreflow转换为HTML,然后将HTML转换为TXT。
次佳解决办法
如果您使用的是pdftotext,则可以使用-layout
标志来保留输入pdf文件中页面上文本的布局:
pdftotext -layout input.pdf output.txt
第三种解决办法
作为开源(和自动化)的粉丝,我讨厌这样说,但我刚刚得到的最好的结果(在相当大的复杂PDF上)是在Adobe Reader中打开它,然后选择File | Save As Text。
(我是pre-processing用于文本分析实验,不是作为读者,但我认为我的第一和第二选择是相同的。)
我一直在比较输出side-by-side。我的第二选择是ebook-convert。
Adobe:在FF中留下分页符,在页码中留下,没有将标题/段落转换为单行,但它有固定的连字符。隐藏在PDF中的垃圾没有得到输出。在部分的开头正确地获得了大资本,例如”The”,不是”T he”,甚至是“T he”。
ebook-convert:左侧是页码,页眉/页脚中有一些隐藏的垃圾(但没有FF)。将大多数段落转换为单行。它错过的是double-spaced!项目符号并不总是与文本对齐。在本章开头正确地得到了”The”。
pdftotext(没有–layout):不错,子弹排队,但页眉/页脚噪音。 FF在那里。连字符已删除。章节大字母的开头最差:”T\n\nhe”。
pdftotext(带–layout):类似,但更多缩进。 “他是”开始章节。
pdftohtml>> pdfreflow>> htmltotext:它删除了页码,但仍然在页眉/页脚中丢失。 “T he”开始章节。连字符已删除。 (它每段使用多行,但它们与其他版本的换行符不同!)
第四种办法
如果您拥有Google帐户,则可以使用Google文档上传PDF并将其转换为可编辑文本。