2017-01-28 44 views
4

PDFドキュメントに埋め込まれたテーブルを抽出する最適な方法は何ですか?RubyのPDFファイルからテーブルを抽出する

JRubyのみで動作する、またはサードパーティのAPIやWebサイトを利用するソリューションは興味がありません。

テーブルを抽出する方法についていくつかのRubyコードを共有できますか? どの宝石が仕事に最も適していますか?

誰かが以前に同じ問題を抱えていたと確信しています:) 私はあなたの助けに感謝します!

+0

はあなたが予想されるかもしれないよりはるかに困難であり、あなたが非常に信頼を得ることができるようになることはほとんどありません:

あなたは自作したMac上のpopplerインストールすることができます任意のPDFファイルで動作するソリューション – lorefnon

+0

私はある企業が生成したPDFファイルを持っているので、PDF生成ツールを変更せずに常に同じフォーマットを使用したいと考えていました。 – Tilo

+0

テーブルで何をしようとしていますか?それらをhtml形式で使いたいですか?テキスト形式? – BigRon

答えて

2

pdf-reader宝石。正確な要件に応じて、これで十分です。

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ファイルとテキストファイルにpdfsを抽出します。 PDFファイルから構造化されたレイアウトで編成されたデータを抽出

brew install poppler 
+0

これは興味深いリンクかもしれません。実際のテーブル抽出を行うにはhttps://github.com/ashima/pdf-table-extract – Tilo

+0

@Tiloはいそうです有望。これはPythonにありますが、ロジックを模倣することができます。 – BigRon

2

この回答(How to convert PDF to Excel or CSV in Rails 4)をご覧ください。それはあなたが解決しようとしているのと同じ問題を解決します。

+0

ご回答いただきありがとうございます。残念ながら、機密データが含まれているため、サードパーティ製のAPI /サイトを使用することはできません – Tilo

+0

@Tilo:AFAIK、この宝石はサードパーティを必要とせずにローカルでテーブルを抽出しますPDFを処理します。確かに、コードを信頼する必要がありますが、起動する前に監査することができます。 –

2

チェックアウト私はそれはあなたが探して何だと思うこの宝石:あなたがpopplerでPDFファイルからデータを抽出することができ

+0

これはうまく見えますが、私はテーブルの特別な扱いを見ません – Tilo

関連する問題