在将 PDF 文档嵌入 Web 应用程序时,您可能经常需要生成缩略图。此外,创建 PDF 查看器时需要页面缩略图。对于此类场景,本文介绍了如何在 C# .NET 中以编程方式生成 PDF 文件的缩略图。我们将明确介绍如何创建特定页面或 PDF 文件中所有页面的缩略图。
用于生成 PDF 缩略图的 C# .NET API
Aspose.PDF for .NET 是一个 C# 类库,可让您在 .NET 应用程序中创建和操作 PDF 文档。使用 API,您可以非常轻松地执行基本和高级 PDF 自动化操作。我们将使用此 API 生成 PDF 文件的缩略图。 API 可以作为 DLL 下载或通过 NuGet 安装。
PM> Install-Package Aspose.Pdf
在 C# .NET 中生成 PDF 文件的缩略图
通常,您必须为 PDF 文档生成单个缩略图。缩略图页面可以是封面或您选择的任何其他页面。以下是在 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# PDF API 的信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。