![](https://products-qa.fileformat.com/ja/pdf/java/apache-pdfbox/header-image.png)
Apache PDFBox
PDF ドキュメント処理用の Java API
Java アプリケーション内で PDF ドキュメントを作成、印刷、分割、または結合するためのオープンソースの Java ライブラリ。
Apache PDFBox は、PDF ドキュメントを操作するためのオープン ソースの pure-Java ライブラリです。 Java 開発者は、このライブラリを使用して、新しい PDF ドキュメントを作成し、既存の PDF ドキュメントを簡単に操作する Java プログラムを開発できます。また、開発者は PDF ドキュメントからコンテンツを読み取って抽出することもできます。これに加えて、PDFBox には、利用可能な Jar ファイルを使用して PDF ドキュメントに対してさまざまな操作を実行するためのコマンド ライン ユーティリティも含まれています。
Portable Document Format (PDF) は、アプリケーション ソフトウェア、ハードウェア、およびオペレーティング システムに依存しない方法でデータを表示するのに役立つファイル形式です。 Apache PDFBox は、PDF ファイルのテキストとメタデータの作成、レンダリング、印刷、分割、マージ、変更、検証、抽出など、いくつかの高度な機能をサポートしています。
Apache PDFBox の使用を開始する
まず、PDFBox ダウンロード ページから最新リリースをダウンロードする必要があります。 PDFBox を正常にビルドするには、Java 7 以降と Maven 3 をインストールする必要があります。次のビルドコマンドを使用します
インストールコマンド
mvn clean instal
このコマンドは、デフォルトで Java ソースをコンパイルし、バイナリ クラスを jar パッケージにパッケージ化します。
新しい PDF ドキュメントを作成および変更するための Java API
Apache PDFBox を使用すると、プログラマーは新しい PDF ドキュメントをゼロから生成できます。ドキュメントを作成した後、開発者はドキュメントを目的の場所に保存できます。 PDF は、現在最も一般的に使用されているファイル形式の 1 つです。 PDF ドキュメントは、さまざまなプラットフォーム間で互換性があり、ドキュメントの作成に使用されたハードウェア、オペレーティング システム、およびアプリケーション ソフトウェアとは無関係にドキュメントを表します。 PDFBox は、開発者が既存の PDF ドキュメントを変更することも容易にします。開発者は、新しいページとテキストを既存のページ ドキュメントに追加できます。
PDF ドキュメントの作成 - Java
// Create a new PDF document
PDDocument document = new PDDocument();
// Save document
document.save("fileformat.pdf");
// Close document
document.close();
Java ライブラリを使用した PDF ドキュメントの分割と結合
Apache PDFBox は、複数の PDF ドキュメントを単一の PDF ドキュメントにマージする機能を提供します。複数のドキュメントをマージするには、まず既存の PDF ドキュメントをロードしてから、宛先ファイルへのパスを設定する必要があります。その後、開発者はすべてのソース PDF ファイルを最終的な結合 PDF ファイルで見つけたい順序で追加できます。指定された PDF ドキュメントを複数の PDF ファイルに分割できます。この Splitter クラスは、指定された PDF ドキュメントを他のいくつかの個別のドキュメントに分割するために使用されます。
PDF ドキュメントの結合 - Java
// Initialize PDFMergerUtility object
PDFMergerUtility pdfMergerUtility = new PDFMergerUtility();
// Set output file path
pdfMergerUtility.setDestinationFileName("merged.pdf");
// Add source documents
pdfMergerUtility.addSource(new File("document1.pdf"));
pdfMergerUtility.addSource(new File("document2.pdf"));
// Merger documents
pdfMergerUtility.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
Java アプリ内の PDF ドキュメントへの画像の追加と抽出
Apache PDFBox は、Java 開発者が既存の PDF ドキュメントに画像を挿入できるようにします。画像は常にコンテンツに真の価値をもたらします。画像は、私たちが学び、注目を集め、概念を説明し、刺激を与えるのに役立ちます。 PDFBox は、PDF ドキュメントに画像を挿入するためのライブラリを提供します。このライブラリは、Java プログラムを使用して PDF ドキュメントに画像を挿入します。 API を使用すると、開発者は既存の PDF ドキュメントから画像を抽出してローカル ディスクに保存することもできます。
PDF に画像を追加 - Java
// Create a new PDF document
PDDocument document = new PDDocument();
// Create a new page
PDPage page = new PDPage();
// Add page
document.addPage(page);
// Initialize PDImageXObject object
PDImageXObject pdImage = PDImageXObject.createFromFile("logo.png",document);
// Initialize PDPageContentStream object
PDPageContentStream contents = new PDPageContentStream(document, page);
// Drawing image
contents.drawImage(pdImage, 70, 250);
// Close contents
contents.close();
// save document
document.save("image.pdf");
Java ライブラリを使用してさまざまな方法で PDF ドキュメントを印刷する
Apache PDFBox を使用すると、Java 開発者は標準の Java 印刷 API を使用して PDF ドキュメントを印刷できます。開発者は、さまざまな方法で PDF ドキュメントを印刷できます。開発者は、推奨される印刷方法である実際のサイズでドキュメントを印刷できるようになりました。印刷プレビュー ダイアログとカスタム属性を使用した印刷をサポートしています。開発者は、カスタム ページ サイズとカスタム マージンを使用して PDF ドキュメントを印刷することもできます。
Java API 経由で PDF ファイルを印刷
import java.awt.print.PrinterException;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
public class Print {
public static void main(String[] args) throws IOException, PrinterException
{
PDDocument pdf=PDDocument.load("d:\\filename.pdf");
pdf.print();
}
}