画像は、PDFファイルのさまざまな種類の描写やデモンストレーションに広く使用されています。この記事では、PDFファイル内の画像をプログラムで操作する方法を学習します。特に、この記事では、Javaを使用してPDFファイル内の画像を追加、抽出、削除、または置換する方法について説明します。
- PDFで画像を追加および操作するためのJavaAPI
- Javaを使用してPDFに画像を追加する
- Javaを使用してPDFから画像を抽出する
- Javaを使用してPDFから画像を削除する
- Javaを使用してPDF内の画像を置き換える
- 無料ライセンスを取得する
PDFで画像を追加および操作するJavaAPI-無料ダウンロード
Aspose.PDF for Javaは、さまざまなPDF操作機能を提供する強力なAPIです。 APIを使用すると、PDFファイル内のテキスト、注釈、または画像をシームレスに操作できます。 APIのJARをダウンロードするか、次のMaven構成を使用してインストールできます。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>21.2</version>
</dependency>
JavaでPDFファイルに画像を追加
以下は、JavaでPDFファイルに画像を追加する手順です。
- まず、Documentクラスのインスタンスを作成して、PDFドキュメントをロードします。
- Document.getPages().get_Item(int)メソッドを使用して、画像を追加するPageを取得します。
- 画像ファイルをFileInputStreamオブジェクトにロードします。
- Page.getResources().getImages().add(FileInputStream)メソッドを使用して、画像をページのリソースに追加します。
- 演算子を使用して画像をページに配置します。
- GSave演算子を使用して、現在のグラフィック状態を保存します。
- ConcatenateMatrix演算子を使用して、画像を配置する場所を指定します。
- Do演算子を使用して、ページに画像を描画します。
- GRestore演算子を使用して、更新されたグラフィカル状態を保存します。
- 最後に、Document.save(string)メソッドを使用して更新されたPDFファイルを保存します。
次のコードサンプルは、JavaでPDFファイルに画像を追加する方法を示しています。
// ドキュメントを開く
Document pdfDocument1 = new Document("input.pdf");
// 座標を設定する
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// 画像を追加するページを取得します
Page page = pdfDocument1.getPages().get_Item(1);
// 画像をストリームにロード
java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg"));
// ページリソースのImagesコレクションに画像を追加します
page.getResources().getImages().add(imageStream);
// GSave演算子の使用:この演算子は現在のグラフィックス状態を保存します
page.getContents().add(new Operator.GSave());
// RectangleオブジェクトとMatrixオブジェクトを作成します
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() });
// ConcatenateMatrix(連結行列)演算子の使用:画像の配置方法を定義します
page.getContents().add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());
// Do演算子の使用:この演算子は画像を描画します
page.getContents().add(new Operator.Do(ximage.getName()));
// GRestore演算子の使用:この演算子はグラフィックスの状態を復元します
page.getContents().add(new Operator.GRestore());
// 新しいPDFを保存します
pdfDocument1.save("Updated_document.pdf");
// 画像ストリームを閉じる
imageStream.close();
Javaを使用してPDFファイルから画像を抽出する
以下は、Javaを使用してPDFドキュメントから画像を抽出する手順です。
- Documentクラスのインスタンスを作成して、PDFドキュメントをロードします。
- Document.getPages().get_Item(int).getResources().getImages().get_Item(int)メソッドを使用して、目的の画像をXImageオブジェクトに抽出します。
- 画像コレクションをループして、すべての画像を抽出して保存することもできます。
- 最後に、OutputStreamを使用して抽出した画像をファイルとして保存します。
次のコードサンプルは、Javaを使用してPDFファイルから画像を抽出する方法を示しています。
// ドキュメントを開く
Document pdfDocument = new Document("input.pdf");
// 特定の画像を抽出する
XImage xImage = pdfDocument.getPages().get_Item(1).getResources().getImages().get_Item(1);
// ストリームオブジェクトを作成して出力画像を保存します
java.io.OutputStream output = new java.io.FileOutputStream("output.jpg");
// 出力画像を保存します
xImage.save(output);
// ストリームを閉じる
output.close();
Javaを使用してPDFファイルから画像を削除する
以下は、Javaを使用してPDFファイルから画像を削除する手順です。
- PDFファイルをDocumentオブジェクトにロードします。
- 次のいずれかの方法を使用して、目的の画像を削除します。
- delete() to delete images from collection.
- delete(int index) to delete an image from the collection by index.
- delete(String name) to delete an image from the collection by name.
- 最後に、Document.save(string)メソッドを使用して更新されたPDFファイルを保存します。
次のコードサンプルは、Javaを使用してPDFの画像を削除する方法を示しています。
// ドキュメントを開く
Document pdfDocument = new Document("input.pdf");
// 特定の画像を削除する
pdfDocument.getPages().get_Item(1).getResources().getImages().delete(1);
// 更新されたPDFファイルを保存します
pdfDocument.save("output.pdf");
Javaを使用してPDFファイルの画像を置き換える
以下は、Javaを使用してPDFファイル内の画像を置き換える手順です。
- PDFファイルをDocumentオブジェクトにロードします。
- 新しい画像をFileInputStreamオブジェクトにロードします。
- Document.getPages().get_Item(int).getResources().getImages().replace(int, FileInputStream)メソッドを使用して、インデックスを指定して画像を置き換えます。
- 最後に、Document.save(string)メソッドを使用して更新されたPDFファイルを保存します。
次のコードサンプルは、Javaを使用してPDFの画像を置き換える方法を示しています。
// ドキュメントを開く
Document pdfDocument = new Document("input.pdf");
// 特定の画像を置き換える
pdfDocument.getPages().get_Item(1).getResources().getImages().replace(1, new java.io.FileInputStream(new java.io.File("apose.png")));
// 更新されたPDFファイルを保存します
pdfDocument.save("output.pdf");
PDFで画像を追加するJavaAPI-無料のAPIライセンスを取得
一時ライセンスの取得を使用すると、Aspose.PDFforJavaを無料で試すことができます。
結論
この記事では、Javaを使用してPDFファイルの画像を操作する方法を学びました。ステップバイステップガイドとコードサンプルは、PDFファイル内の画像を抽出、追加、削除、および置換する方法を示しています。 ドキュメントを使用して、Aspose.PDFforJavaの他の機能を調べることができます。ご不明な点がございましたら、フォーラムからお問い合わせください。