从Ruby中的PDF文件中提取表格

时间:2017-01-28 19:16:05

标签: ruby-on-rails ruby

提取嵌入PDF文档的表的最佳方法是什么?

我不感兴趣的解决方案只适用于JRuby,或者使用第三方API或网站。

你能分享一些关于如何提取表格的Ruby代码吗? 哪种宝石最适合这份工作?

我确定有人在遇到同样的问题之前:) 感谢您的帮助!

4 个答案:

答案 0 :(得分:3)

您可能需要查看此答案(How to convert PDF to Excel or CSV in Rails 4)。它解决了您尝试解决的同样问题。

答案 1 :(得分:2)

结帐这个宝石我认为这就是你要找的东西:pdf-reader宝石

答案 2 :(得分:1)

您可以使用poppler从pdf中提取数据。根据您的具体要求,这可能就足够了。

def extract_to_text(pdf_path)
  command = ['pdftotext', Shellwords.escape(pdf_path)].join(' ')
  `#{command}`
end

def extract_to_html(pdf_path)
  command = ['pdftohtml', Shellwords.escape(pdf_path)].join(' ')
  `#{command}`
end

这些命令将pdf分别提取到html文件和文本文件,保存在pdf所在的同一位置。

您可以使用自制软件安装poppler:

brew install poppler

答案 3 :(得分:0)

有一个名为Iguvium的宝石可以做到这一点。这是一个例子

pages = Iguvium.read('filename.pdf')
tables = pages.first.extract_tables!
csv = tables.first.to_a.map(&:to_csv).join