PDFドキュメントをWebアプリケーションに埋め込む際に、サムネイルを生成する必要がある場合があります。 PDFビューアの作成などの他のシナリオでは、PDFの各ページのサムネイルを作成する必要がある場合があります。この記事では、JavaでPDFページのサムネイル画像を生成する方法を紹介します。特定のページまたはPDFファイル内のすべてのページのサムネイルを作成する方法を明示的に説明します。
PDFのサムネイルを生成するJavaAPI-無料ダウンロード
PDFファイルのサムネイル画像を生成するには、Aspose.PDF forJavaを使用します。これは、PDFドキュメントを作成および操作できる機能豊富なライブラリです。 APIを使用すると、基本的なPDF自動化操作と高度なPDF自動化操作をシームレスに実行できます。 APIをダウンロードするか、次の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>22.4</version>
</dependency>
JavaでPDFのサムネイルを生成する
通常、PDFドキュメントのサムネイル画像を1つ生成する必要があります。サムネイルのページは、カバーページまたは任意の他のページにすることができます。以下は、JavaでPDFの目的のページのサムネイルを生成する手順です。
- Documentクラスを使用してPDFファイルをロードします。
- Document.getPages()コレクションから目的のページの参照を取得します。
- 画像ファイルの新しいFileOutputStreamを作成します。
- Resolutionクラスのインスタンスを作成して、サムネイル画像の解像度を設定します。
- JpegDeviceをインスタンス化し、画像の高さ、幅、解像度、品質を設定します。
- JpegDevice.process(Page、FileOutputStream)メソッドを使用してサムネイルを生成します。
- ファイルストリームを閉じます。
次のコードサンプルは、JavaでPDFファイルのサムネイルを生成する方法を示しています。
// PDFドキュメントをロード
Document doc = new Document("input.pdf");
int pageIndex = 0;
// ページを取得
Page page = doc.getPages().get_Item(pageIndex);
// 画像のファイルストリームを作成する
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageIndex + ".jpg");
// 解決オブジェクトを作成する
Resolution resolution = new Resolution(300);
// JpegDeviceのインスタンスを作成し、高さ、幅、解像度を設定し、
// 画像の品質
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// ページを変換し、画像をストリーミングに保存します
jpegDevice.process(page, imageStream);
// ストリームを閉じる
try {
imageStream.close();
} catch (IOException e) {
// TODO自動生成キャッチブロック
e.printStackTrace();
}
JavaはPDFのすべてのページのサムネイルを生成します
以下は、JavaでPDFのすべてのページのサムネイルを生成する手順です。
- Documentクラスを使用してPDFファイルをロードします。
- Document.getPages()コレクションを使用して、PDFのすべてのページをループします。
- 各反復で、次の操作を実行します。
- 画像ファイルの新しいFileOutputStreamを作成します。
- Resolutionクラスのインスタンスを作成して、サムネイル画像の解像度を設定します。
- JpegDeviceをインスタンス化し、画像の高さ、幅、解像度、品質を設定します。
- JpegDevice.process(Page、FileOutputStream)メソッドを使用してサムネイルを生成します。
- ファイルストリームを閉じます。
次のコードサンプルは、PDFのすべてのページのサムネイルを生成する方法を示しています。
// PDFドキュメントをロード
Document doc = new Document("input.pdf");
// ページをループする
for (int pageCount = 0; pageCount < doc.getPages().size(); pageCount++) {
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageCount + ".jpg");
// 解決オブジェクトの作成
Resolution resolution = new Resolution(300);
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// 特定のページを変換し、画像を保存してストリーミングする
jpegDevice.process(doc.getPages().get_Item(pageCount), imageStream);
// ストリームを閉じる
try {
imageStream.close();
} catch (IOException e) {
// TODO自動生成キャッチブロック
e.printStackTrace();
}
}
無料ライセンスを取得する
評価の制限なしにAspose.PDFforJavaを使用するには、無料の一時ライセンスを取得できます。
結論
この記事では、JavaでPDFファイルのサムネイルを生成する方法を学びました。特定のページまたはPDFファイル内のすべてのページのサムネイルを生成する方法を見てきました。さらに、ドキュメントを使用してJavaPDFAPIの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。