0

我有一个 PDF 文件。

它包含表格格式的数据。我想使用逗号作为列分隔符将数据提取到逗号分隔的文本文件中。

有什么建议么?

4

1 回答 1

4

标准 PDF 不提供有关它们在页面上绘制的语义的任何提示:语法提供的唯一区别是矢量元素(线条、填充...)、图像和文本之间的区别。

通过解析 PDF 源代码以编程方式识别任何字符是否是表格的一部分或行的一部分,或者只是在其他空白区域内的孤独的单个字符都不容易。

有关为什么PDF 文件格式不应该被认为适合托管可提取的结构化数据的背景,请参阅这篇文章:

为什么为文档更新美元如此困难(ProPublica-Website)

说了上面的话,现在让我补充一下:

Tabula 是用 Ruby 编写的。


更新

这是一个 ASCIinema 截屏视频(您也可以借助命令行工具在 Linux/MacOSX/Unix 终端本地下载asciinema和重播),主演tabula-extractor

asciiccast

于 2015-04-15T08:48:46.973 回答