2010-11-30 34 views
6

大きな(> 300MB)PDFファイルから画像を抽出する方法を研究しています。私はpdfboxを使用していますが、わからないいくつかの特定の理由で、一部のページが正しく抽出されていません。Javaを使用してpdfから画像を抽出する方法(pdfboxを使用しない)

私はコードのベースとしてpdfboxのPDFToImageクラスを使用しています。

私はこれを行うのに役立つ別のライブラリを知っていますか?私はiTextを使用することができることを知っていますが、私はそれが商用製品に使用することはできないことをお読みください。

パッケージxpdfとxpdf-utilsをインストールしました。pdfimagesというユーティリティが完璧に動作しています。しかし、私はこの問題をJavaから解決する必要があり、移植可能でなければなりません。

+0

xpdf-utilsをJavaに移植することができます。 – erjiang

+1

あなたが商用ライセンスを購入しない限り、iTextはGPLの下にあります。 –

+0

私はバージョン<5を試してみます、ライセンス条件の変更がバージョン> = 5のバージョンで変更されたと思います。 –

答えて

5

ここでは、PDFから画像を抽出し、PDFページを画像に変換するという2つの異なることについてお話していると思います。 PDFToImageはすべてのページに画像を出力し、pdfimagesはすべての埋め込み画像を抽出します(テキスト文書には画像があります)。

org.apache.pdfbox.ExtractImagesをご覧ください。

+0

はい、そうです、PDFページをイメージに変換しようとしていますが、埋め込まれたイメージをすべて抽出しません。私がこの特定のケースで使用しているPDFは、1ページに1つの画像があります。誤解をおかけして申し訳ありません。私は運がないExtractImagesもチェックしました。 –

+0

私はついにpdfboxを使用しましたが、pdfboxは認識されないフォントやCMYK色空間を持つPDFを画像に正しく抽出しません。これらの問題のないPDFについては、ライブラリは正常に動作します。 –

0

300Mb PDFで作業するのがもっともらしい理由は、メモリが足りなくなることです。小さなPDFでうまく動作すれば、なぜ失敗するのかを詳しく見ていきます。

0

icepdfまたはJPedal(どちらも純粋なJava)を試しましたか?

+0

ノップ、私はしませんでした。市販の製品に使用することはできますか? –

+0

彼らは両方ともLGPLと商用バージョンを持っています。いずれかを市販の製品で使用できます。 –

+0

私はIcepdfをテストしましたが、ページは大丈夫でしたが、今はフォントに問題があります:(私はこれをガイドとして使用しています:http://wiki.icefaces.org/display/PDF/Converting+ PDF +ページ+レンダリング –

関連する問題