pdftotext可以工作,但它不尊重段落的中断。我曾经尝试过-pagebrk、-eol mac或-eol unix,但是段落划分的问题似乎总是存在。这是典型的问题吗?
发布于 2019-08-21 01:16:25
PDF是奇怪的东西,它们中的文本不一定按任何正常的顺序排列。
尝试pdftotext的-layout选项。
取决于PDF,这可能会给您一个多列文本文件,这是完全可读的(尤指。在有超过80列的宽屏幕显示器上),但单列文本可能更有用。
--
我发现将多列文本转换为单列文本的最简单方法是用vim编辑文本,在列之间插入一个are,并编写一个perl脚本将每个页面上的列合并为一个列(页面由表单提要字符( ^L)分隔)。这可能是非常费时和乏味的。
我第一次尝试编写perl脚本时,试图根据列之间的空格字符数来标识列,但不幸的是,从1或2个空格字符数到5个或更多空格字符(还有一些列是用额外的空格对齐的),因此无法自动区分单词之间的正常间距和列之间的间距。而且它完全不能处理pdftotext输出中的表。
手动编辑和插入TAB字符并在其上拆分列要容易得多,vi/vim使重复编辑任务变得非常容易:找到一个方便的光标位置来插入TAB,按Ctrl-V并将光标向下移动到您正在编辑的页面或部分的底部,然后按rTAB将所选的vim列替换为选项卡字符。
最后,在您的评论中,您提到了在输出文本中看到Unicode字符‘右单引号’(U+2019)。这是完全正常的,很多人(大多数?)PDF中嵌入了unicode字符(例如用于智能引号、em-破折号和省略号等),因为它们不仅限于ASCII字符。
https://unix.stackexchange.com/questions/536395
复制相似问题