在 Linux 中从复杂的 PDF 中提取文本

在 Linux 中从复杂的 PDF 中提取文本

正如标题所说,我希望能够从 pdf 文档中提取文本。我想要分析的文档是体育赛事的时间表,基本上看起来像一个表格,格式如下:

A bunch of header info
athlete 1 5.31 (1) 38.24 (2) 57.94 (1) 42.13 120.50
          5.37 (2) 38.66 (2) 58.93 (5) 41.87 119.33
athlete 2 5.52 (5) 38.89 (4) 59.23 (7) 41.16 118.38
          5.43 (4) 38.98 (5) 59.52 (8) 41.61 117.30

我尝试使用 pdftotext,但无法让它保留格式。它似乎会随机放置分页符。例如,我可能会得到以下输出:

athlete 1 
5.31 (1)
5.37 (2)

38.24 (2)
38.66 (2) 


57.94 (1) 42.13 120.50
58.93 (5) 41.87 119.33

athlete 2
5.52 (5)
5.43 (4) 

38.89 (4)
38.98 (5)

59.23 (7) 41.16
59.52 (8) 41.61

118.38 
117.30

有人知道我该如何分别提取每行文本吗?或者至少给我指出正确的方向?

谢谢!

答案1

事实证明我应该查看 pdftotext 的手册页。使用 -layout 选项可以很好地保留原始 pdf 文档中显示的布局:

pdftotext pdfinput.pdf output.txt -layout

相关内容