C#でPDFファイルのサムネイルを生成する

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の詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。

関連項目