在 C# 中为 PDF 文件生成缩略图

在将 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 所需页面的缩略图的步骤。

以下代码示例展示了如何在 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 中的所有页面生成缩略图的步骤。

以下代码示例显示了如何为 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 的信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。

也可以看看