1. どのような機能が必要なのでしょうか?
すべてをこなすPDFライブラリはほとんどありません。以下は、PDFファイル上でPDFライブラリを使用して行いたいことの一部です:
- 新規にPDFファイルを作成する
- 既存のPDFドキュメントを編集する
- PDFを閲覧する
- PDFを印刷する
- PDFコンテンツからデータを抽出する
- PDFの機密情報の再編集
- PDFを別のフォーマットに変換する
使用用途によって、正しい答えの幅は非常に広がります。
2. オープンソースと商用ライブラリ、どちらがいいのか?
これは、JavaのPDFライブラリ選択の大きな分かれ目です。PDFBoxやApache FOPのような非常に優れたオープンソースライブラリもあります。また、枯れたセミコンプリートなものもたくさんあります。
iTextは、作成と編集のためのデュアルライセンスライブラリを提供しています。AGPLライセンスを使っているので、クローズドソースのアプリケーションに使いたい場合は、商用版が必要です。
それから、私たちの開発提供しているJava PDFライブラリ JPedal(ジェイペダル)のような商用ライブラリも充実しています。
あなたにとっての正解は、以下によって決められるでしょう:
- 提供する機能・性能
- ソフトウェアのライセンスが自分の使い方に合っているかどうか(これはオープンソースでも商用でも同じです)
- サポートの必要性
サポートはおそらく、無料の代替製品がある中でJPedalを購入する最大の理由だと思います。もし、サポートが重要であれば、サポート付きの製品にお金を払うことと、無料の製品で独力でサポートすることの長所と短所を比較検討する必要があります。
3. それは純粋なJavaライブラリですか?
他のプラットフォームには非常に優れたPDFライブラリがありますが、いくつかの製品は非JavaライブラリへのJavaラッパーです。その最たるものがDatalogics社のAdobe PDF Libraryで、これは非JavaのAdobe SDKにアクセスすることになります。
また、純粋なJavaで書かれた製品もあります(PDFBox、iText、JPedalなど)。
いつものように、純粋なJavaの実装であることと、非JavaライブラリのJavaラッパーを提供することには、長所と短所があります。
絞り込めましたか?
これら3つの重要な質問に対する答えが得られれば、あなたの正確な要件に適したJava PDFライブラリの選択肢は、かなり少ないことが分かるはずです。