PDFドキュメントをWebアプリケーションに埋め込むときに、サムネイルを生成する必要がある場合があります。また、PDFビューアを作成する場合は、ページのサムネイルが必要です。このようなシナリオでは、この記事では、C#.NETでプログラムによってPDFファイルのサムネイルを生成する方法について説明します。特定のページまたはPDFファイル内のすべてのページのサムネイルを作成する方法を明示的に説明します。
PDFのサムネイルを生成するC#.NET API
Aspose.PDF for .NETは、.NETアプリケーション内でPDFドキュメントを作成および操作できるC#クラスライブラリです。 APIを使用すると、基本的なPDF自動化操作と高度なPDF自動化操作を非常に簡単に実行できます。このAPIを使用して、PDFファイルのサムネイルを生成します。 APIは、DLLとしてダウンロードするか、NuGetを介してインストールできます。
PM> Install-Package Aspose.Pdf
C#.NETでPDFファイルのサムネイルを生成する
通常、PDFドキュメントのサムネイル画像を1つ生成する必要があります。サムネイルのページは、カバーページまたは任意の他のページにすることができます。以下は、C#でPDFの目的のページのサムネイルを生成する手順です。
- Documentクラスを使用してPDFファイルをロードします。
- Document.Pagesコレクションから目的のページの参照を取得します。
- 画像ファイル用に新しいFileStreamを作成します。
- Resolutionクラスのインスタンスを作成して、サムネイル画像の解像度を設定します。
- JpegDeviceをインスタンス化し、画像の高さ、幅、解像度、品質を設定します。
- JpegDevice.Process(Page、FileStream)メソッドを使用してサムネイルを生成します。
- ファイルストリームを閉じます。
次のコードサンプルは、C#でPDFファイルのサムネイルを生成する方法を示しています。
// ドキュメントを開く
Document pdfDocument = new Document("file.pdf");
int pageIndex = 0;
// コレクションから目的のインデックスのページを取得します
var page = pdfDocument.Pages[pageIndex];
// 画像ファイルのストリームを作成する
using (FileStream imageStream = new FileStream("Thumbanils_" + page.Number + ".jpg", FileMode.Create))
{
// 解決オブジェクトの作成
Resolution resolution = new Resolution(300);
// JpegDeviceのインスタンスを作成し、画像の高さ、幅、解像度、品質を設定します
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// 特定のページを変換し、画像を保存してストリーミングする
jpegDevice.Process(page, imageStream);
// ストリームを閉じる
imageStream.Close();
}
C#でPDFのすべてのページのサムネイルを生成する
以下は、C#でPDFのすべてのページのサムネイルを生成する手順です。
- Documentクラスを使用してPDFファイルをロードします。
- Document.Pagesコレクションを使用して、PDFのすべてのページをループします。
- 各反復で、次の操作を実行します。
- 画像ファイル用に新しいFileStreamを作成します。
- Resolutionクラスのインスタンスを作成して、サムネイル画像の解像度を設定します。
- JpegDeviceをインスタンス化し、画像の高さ、幅、解像度、品質を設定します。
- JpegDevice.Process(Page、FileStream)メソッドを使用してサムネイルを生成します。
- ファイルストリームを閉じます。
次のコードサンプルは、PDFのすべてのページのサムネイルを生成する方法を示しています。
// ドキュメントを開く
Document pdfDocument = new Document("file.pdf");
// ページをループする
for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
{
// 画像ごとにストリームを作成する
using (FileStream imageStream = new FileStream("Thumbanils_" + pageCount + ".jpg", FileMode.Create))
{
// 解決オブジェクトの作成
Resolution resolution = new Resolution(300);
// JpegDeviceのインスタンスを作成し、画像の高さ、幅、解像度、品質を設定します
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// 特定のページを変換し、画像を保存してストリーミングする
jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);
// ストリームを閉じる
imageStream.Close();
}
}
無料ライセンスを取得する
評価の制限なしにAspose.PDF for .NETを使用するには、無料の一時ライセンスを取得できます。
結論
この記事では、C#でPDFファイルのサムネイルを生成する方法を学びました。特定のページまたはPDFファイル内のすべてのページのサムネイルを生成する方法を見てきました。さらに、ドキュメントを使用して、C#PDFAPIの詳細を調べることができます。ご不明な点やご質問がございましたら、フォーラムからお問い合わせください。