Apache PDFBox ライブラリは、PDF ドキュメントを操作するためのオープン ソース Java ツールです。このプロジェクトでは、新しい PDF ドキュメントの作成、既存のドキュメントの操作、およびドキュメントからコンテンツを抽出する機能が可能になります。 PDFBox には、いくつかのコマンド ライン ユーティリティも含まれています。 PDFBox は、Apache License バージョン 2.0 に基づいて公開されています。
PDFBox は、Apache Software Foundation のプロジェクトです。
現在開発中のリリースまたは古いリリースのバイナリ バージョンをダウンロード ページからダウンロードできます。
PDFBox を構築するには、Java 11 (またはそれ以降) と Maven 3 が必要です。推奨されるビルド コマンドは次のとおりです。
mvn clean install
デフォルトのビルドでは、Java ソースをコンパイルし、バイナリ クラスを jar パッケージにパッケージ化します。他のすべての利用可能なビルド オプションについては、Maven ドキュメントを参照してください。
PDFBox を改善するにはさまざまな方法があります。
サポートページのガイドラインに従ってください。
PDFBox の使用方法について質問がある場合は、ユーザー メーリング リストで質問してください。これにより、コミュニティ全体からの協力が得られます。
PDFBox の例とソース内のテスト コードでも追加情報が提供されます。
また、Stack Overflow などのサイトで追加のリソースを利用できます。
バグを見つけたことが確実な場合は、Issue Tracker で問題を報告してください。
既知の問題と要求された機能の完全なリストについては、Issue Tracker を参照してください。より一般的な問題には次のようなものがあります。
テキストを抽出するときに、予期したものではなく、「G38G43G36G51G5」のようなテキストが表示されます。これは、文字が PDF ドキュメントに埋め込まれたグリフを指す無意味な内部エンコードであるためです。テキストにアクセスする唯一の方法は OCR を使用することです。これは将来の機能強化となる可能性があります。
java.io.IOException: Can't handle font width
のようなエラー メッセージが表示されます。これは、クラスパスにorg/apache/pdfbox/resourcesディレクトリがないことが原因である可能性があります。最も簡単な解決策は、 apache-pdfbox-xxxjar をクラスパスに含めることです。
正しい文字を含むテキストが得られますが、順序が間違っています。これは、並べ替えが有効になっていないことが原因である可能性があります。 PDF ファイル内のテキストはチャンクに保存されますが、チャンクはページに表示される順序で保存する必要はありません。デフォルトでは、PDFBox はテキストを並べ替えません。
集合著作物: Copyright 2015 The Apache Software Foundation.
1 つ以上のコントリビューター ライセンス契約に基づいて、Apache Software Foundation (ASF) にライセンスが付与されています。著作権所有権に関する追加情報については、この作品とともに配布される NOTICE ファイルを参照してください。 ASF は、Apache ライセンス バージョン 2.0 (「ライセンス」) に基づいてこのファイルをお客様にライセンスします。ライセンスに準拠する場合を除き、このファイルを使用することはできません。ライセンスのコピーは次の場所で入手できます。
https://www.apache.org/licenses/LICENSE-2.0
適用される法律で義務付けられている場合または書面による同意がない限り、ライセンスに基づいて配布されるソフトウェアは、明示または黙示を問わず、いかなる種類の保証や条件もなく、「現状のまま」で配布されます。ライセンスに基づく許可と制限を規定する特定の言語については、ライセンスを参照してください。
このディストリビューションには暗号化ソフトウェアが含まれています。現在居住している国によっては、暗号化ソフトウェアの輸入、所持、使用、および他国への再輸出が制限されている場合があります。暗号化ソフトウェアを使用する前に、暗号化ソフトウェアの輸入、所持、使用、および再輸出に関するあなたの国の法律、規制、政策を確認し、これが許可されているかどうかを確認してください。詳細については、https://www.wassenaar.org/ を参照してください。
米国政府商務省産業安全保障局 (BIS) は、このソフトウェアを輸出商品管理番号 (ECCN) 5D002.C.1 として分類しました。これには、非対称アルゴリズムによる暗号化機能を使用または実行する情報セキュリティ ソフトウェアが含まれます。この Apache Software Foundation ディストリビューションの形式と方法により、オブジェクト コードとソース コードの両方について、ライセンス例外 ENC テクノロジ ソフトウェア無制限 (TSU) 例外 (BIS 輸出管理規則、セクション 740.13 を参照) に基づいて輸出の対象となります。
以下に、含まれる暗号化ソフトウェアの詳細を示します。
Apache PDFBox は、PDF ドキュメントの暗号化を処理するために Java Cryptography Architecture (JCA) と Bouncy Castle ライブラリを使用します。