跳至页脚内容
使用IRONPDF

如何在C#中将PDF转换为图像

在 C# 中将 PDF 转换为图像是很常见的。 您可能需要缩略图、网页预览或存档副本。 使用IronPDF,这个过程变得简单。 这要归功于其 RasterizeToImageFiles 方法,只需几行代码,即可将 PDF 文件转换为图像文件,如 PNG 图像、JPEG 图像、TIFF 图像或 BMP。

在本文中,我们将介绍将 PDF 转换为 PNG、JPG、TIFF 或 BMP 所需了解的所有内容。您将看到如何处理完整文档、特定页面范围,甚至将网页渲染为 PDF。 到最后,您将在 .NET 项目中拥有一个从 PDF 生成高质量图像的稳固工作流程。

为什么要在 C# 中将 PDF 文档转换为图像?

将 PDF 页面转换为图像在现代 .NET Framework 或 .NET 应用程序中具有实际应用。文档管理系统需要缩略图来快速视觉导航,而网络应用程序受益于图像格式,以提高浏览器兼容性和更快的加载时间。

此外,将 PDF 转换为图像确保您的 PDF 在任何平台上的外观都正确,即使 PDF 库支持有限。 无论您是处理多页还是单页,IronPDF 都可以通过几行代码来完成此过程,而无需担心错误或复杂的渲染。

开始使用 IronPDF.

首先,在 Visual Studio 中创建一个新的 C# 控制台应用,并通过 NuGet 包管理器安装 IronPDF:

Install-Package IronPdf

如何在 C# 中将 PDF 转换为图像:图 1 - IronPDF 通过 NuGet 包管理器控制台安装

IronPDF 支持 .NET Framework、.NET Core 和 .NET 5+,确保您的 PDF 到图像工作流程兼容您正在使用的任何 .NET 版本。 安装后,您可以在程序中开始将 PDF 页面转换为图像文件。

如何将 PDF 页面转换为图像文件?

将 PDF 转换为图像的最简单方法是加载文档并调用 RasterizeToImageFiles 方法:

using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        // Load an existing PDF document
        var pdfDocument = PdfDocument.FromFile("report.pdf");
        // Convert all pages to PNG images
        pdfDocument.RasterizeToImageFiles(@"C:\images\page_*.png");
    }
}
using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        // Load an existing PDF document
        var pdfDocument = PdfDocument.FromFile("report.pdf");
        // Convert all pages to PNG images
        pdfDocument.RasterizeToImageFiles(@"C:\images\page_*.png");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

该代码将 PDF 的每个页面转换为一个单独的 PNG 文件。文件名模式中的星号 (*) 会自动替换为页码。 为了正确的资源管理,请将 PdfDocument 包装在 using 语句中以确保其释放。

运行代码后,我们可以在输出目录中看到,即使我们的 PDF 内有多个页面,我们的代码没有指定要转换的页面,因此每个页面都被保存为单独的图像文件:

如何在 C# 中将 PDF 转换为图像:图 2 - PDF 到图像示例,转化所有页面

要转换特定页面,请指定页面范围:

// Specify the page indexes for conversion
int[] pageIndexes = new[] { 0, 1, 2 };
// Convert pages 1-3 to JPG images
pdfDocument.RasterizeToImageFiles(@"C:\images\page_*.jpg", pageIndexes);
// Specify the page indexes for conversion
int[] pageIndexes = new[] { 0, 1, 2 };
// Convert pages 1-3 to JPG images
pdfDocument.RasterizeToImageFiles(@"C:\images\page_*.jpg", pageIndexes);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

请注意,页面索引从 0 开始,因此第一页的 pageIndex = 0。

如何在 C# 中将 PDF 转换为图像:图 3 - 特定 PDF 页面转换为图像

如何控制图像质量?

图像质量直接影响文件大小和视觉清晰度。 IronPDF 允许您通过 DPI(每英寸点数)设置来控制这一点:

// High-quality conversion at 300 DPI
pdfDocument.RasterizeToImageFiles(@"C:\images\high_quality_*.png", DPI: 300);
// Web-optimized at 150 DPI
pdfDocument.RasterizeToImageFiles(@"C:\images\web_*.jpg", DPI: 150);
// High-quality conversion at 300 DPI
pdfDocument.RasterizeToImageFiles(@"C:\images\high_quality_*.png", DPI: 300);
// Web-optimized at 150 DPI
pdfDocument.RasterizeToImageFiles(@"C:\images\web_*.jpg", DPI: 150);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

默认 96 DPI 适用于基本预览,但可以增加到 150-300 DPI 以获得打印质量的图像。 较高的 DPI 值会产生更清晰的图像,但文件大小会更大。

如何在 C# 中将 PDF 转换为图像:图 4 - 高质量转换的 PDF 在原件旁边

支持哪些图像格式?

IronPDF 通过 ImageType 参数支持多种图像格式:

// Convert to different formats
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.png", IronPdf.Imaging.ImageType.Png);
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.jpg", IronPdf.Imaging.ImageType.Jpeg);
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.tiff", IronPdf.Imaging.ImageType.Tiff);
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.bmp", IronPdf.Imaging.ImageType.Bitmap);
// Convert to different formats
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.png", IronPdf.Imaging.ImageType.Png);
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.jpg", IronPdf.Imaging.ImageType.Jpeg);
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.tiff", IronPdf.Imaging.ImageType.Tiff);
pdfDocument.RasterizeToImageFiles(@"C:\images\output_*.bmp", IronPdf.Imaging.ImageType.Bitmap);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

选择 PNG 适用于需要透明度的图像,JPEG 适用于照片和网页内容,TIFF 适用于存档目的,而 BMP 适用于需要无压缩图像的情况。 IronPDF API 参考提供有关所有支持的 ImageType 选项的详细信息。

如何处理高级场景?

IronPDF 擅长处理复杂的 PDF 到图像转换场景。 一个特别有用的功能是通过 PDF 渲染直接将网页转换为图像。 有关更多 HTML 转换选项,请查看HTML 到 PDF 转换指南

// Convert a webpage to images
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument webPdf = renderer.RenderUrlAsPdf("https://apple.com");
webPdf.RasterizeToImageFiles(@"C:\images\webpage_*.png", DPI: 200);
// Convert a webpage to images
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument webPdf = renderer.RenderUrlAsPdf("https://apple.com");
webPdf.RasterizeToImageFiles(@"C:\images\webpage_*.png", DPI: 200);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

这种方法完美捕获动态的网络内容,保持所有样式和 JavaScript 渲染元素。

对于批量处理多个 PDF,实现一个简单的循环:

string[] pdfFiles = Directory.GetFiles(@"C:\pdfs", "*.pdf");
foreach (string pdfPath in pdfFiles)
{
    using (var pdf = PdfDocument.FromFile(pdfPath))
    {
        string outputPath = Path.Combine(@"C:\images", 
            Path.GetFileNameWithoutExtension(pdfPath) + "_*.png");
        pdf.RasterizeToImageFiles(outputPath);
    }
}
string[] pdfFiles = Directory.GetFiles(@"C:\pdfs", "*.pdf");
foreach (string pdfPath in pdfFiles)
{
    using (var pdf = PdfDocument.FromFile(pdfPath))
    {
        string outputPath = Path.Combine(@"C:\images", 
            Path.GetFileNameWithoutExtension(pdfPath) + "_*.png");
        pdf.RasterizeToImageFiles(outputPath);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

结论

IronPDF 使得在 C# 中将 PDF 文档转换为图像文件变得容易。 无论是创建缩略图、PNG 图像、JPEG 图像,还是处理多页的 TIFF 转换,RasterizeToImageFiles 方法都可以处理所有问题。

您可以自定义输出格式,通过 DPI 设置控制图像质量,甚至将渲染为 PDF 的网页转换为图像,全部无需复杂设置。有关更多高级 PDF 功能,请查看 IronPDF 的详细文档,其中包含示例代码和说明,以探索 IronPDF 的所有功能。

准备在您的 C# 应用程序中实现 PDF 到图像转换了吗? 开始免费试用享受无限次转换和优先支持。

常见问题解答

如何使用 C# 将 PDF 转换为图像?

您可以使用 IronPDF 库,它提供 RasterizeToImageFiles 方法,将 PDF 文档转换为各种图像格式,例如 PNG、JPEG、TIFF 或 BMP,且编码工作量最小。

IronPDF 支持哪些图像格式的 PDF 转换?

IronPDF 支持将 PDF 文件转换为多种图像格式,包括 PNG、JPEG、TIFF 和 BMP。

为什么我需要在 C# 中将 PDF 转换为图像?

将 PDF 转换为图像可以用于创建缩略图、网页预览或适合图像而非 PDF 的存档目的。

IronPDF 易于用于将 PDF 转换为图像吗?

是的,IronPDF 设计为开发人员友好,让您使用其 RasterizeToImageFiles 功能只需几行代码即可将 PDF 转换为图像。

IronPDF 支持多页 PDF 转换为图像吗?

是的,IronPDF 可以处理多页 PDF 文档,允许您将每页转换为单独的图像文件。

IronPDF 可以将 PDF 文档转换为高分辨率图像吗?

IronPDF 允许您指定输出图像的分辨率,因此您可以从 PDF 文档生成高分辨率图像。

IronPDF 与 .NET 10 兼容吗?

是的——IronPDF 与 .NET 10 项目完全兼容,在 .NET 10 应用程序中开箱即用地支持所有典型功能,例如 PDF 到图像转换、HTML 渲染和 RasterizeToImageFiles API,无需任何变通方法。

IronPDF 支持哪些 .NET 版本和平台进行 PDF 转图像转换?

IronPDF 支持 .NET 10、9、8、7、6、5、.NET Core、.NET Standard 和 .NET Framework。它可在 Windows、macOS 和 Linux 系统上运行,包括容器化环境。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。