
HTML到PDF转换器C#开源(.NET库比较)
在 C# 中将 PDF 转换为图像是很常见的。 您可能需要缩略图、网页预览或存档副本。 使用IronPDF ,这个过程就变得轻而易举了。 这要归功于其 RasterizeToImageFiles 方法,只需几行代码,即可将 PDF 文件转换为图像文件,如 PNG 图像、JPEG 图像、TIFF 图像或 BMP。
在本文中,我们将介绍将 PDF 转换为 PNG、JPG、TIFF 或 BMP 所需了解的所有内容。您将看到如何处理完整文档、特定页面范围,甚至将网页渲染为 PDF。 到最后,你将有一个稳固的工作流,用于在你的.NET项目中从PDF生成高质量图像。
Why Convert PDF Documents to Images in C#?
将 PDF 页面转换为图像在现代 .NET Framework 或 .NET 应用程序中具有实际应用。文档管理系统需要缩略图来快速视觉导航,而网络应用程序受益于图像格式,以提高浏览器兼容性和更快的加载时间。
此外,将 PDF 转换为图像确保您的 PDF 在任何平台上的外观都正确,即使 PDF 库支持有限。 无论您是处理多页还是单页,IronPDF 都可以通过几行代码来完成此过程,而无需担心错误或复杂的渲染。
开始使用 IronPDF
首先,在 Visual Studio 中创建一个新的 C# 控制台应用,并通过 NuGet 包管理器安装 IronPDF:

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");
}
}Imports IronPdf
Class Program
Shared Sub Main(args As String())
' Load an existing PDF document
Dim pdfDocument = PdfDocument.FromFile("report.pdf")
' Convert all pages to PNG images
pdfDocument.RasterizeToImageFiles("C:\images\page_*.png")
End Sub
End Class该代码将 PDF 的每个页面转换为一个单独的 PNG 文件。文件名模式中的星号 (*) 会自动替换为页码。 为了正确的资源管理,请将 PdfDocument 包装在 using 语句中以确保其释放。
运行代码后,我们可以在输出目录中看到,即使我们的 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
Dim pageIndexes As Integer() = {0, 1, 2}
' Convert pages 1-3 to JPG images
pdfDocument.RasterizeToImageFiles("C:\images\page_*.jpg", pageIndexes)请注意,页面索引从 0 开始,因此第一页的 pageIndex = 0。

如何控制图像质量?
图像质量直接影响文件大小和视觉清晰度。 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)默认 96 DPI 适用于基本预览,但可以增加到 150-300 DPI 以获得打印质量的图像。 较高的 DPI 值会产生更清晰的图像,但文件大小会更大。

支持哪些图像格式?
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)选择 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);Imports IronPdf
' Convert a webpage to images
Dim renderer As New ChromePdfRenderer()
Dim webPdf As PdfDocument = renderer.RenderUrlAsPdf("https://apple.com")
webPdf.RasterizeToImageFiles("C:\images\webpage_*.png", DPI:=200)这种方法完美捕获动态的网络内容,保持所有样式和 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);
}
}Imports System.IO
Dim pdfFiles As String() = Directory.GetFiles("C:\pdfs", "*.pdf")
For Each pdfPath As String In pdfFiles
Using pdf = PdfDocument.FromFile(pdfPath)
Dim outputPath As String = Path.Combine("C:\images", Path.GetFileNameWithoutExtension(pdfPath) & "_*.png")
pdf.RasterizeToImageFiles(outputPath)
End Using
Next结论
IronPDF 使得在 C# 中将 PDF 文档转换为图像文件变得容易。 无论是创建缩略图、PNG 图像、JPEG 图像,还是处理多页的 TIFF 转换,RasterizeToImageFiles 方法都可以处理所有问题。
您可以自定义输出格式,通过 DPI 设置控制图像质量,甚至将渲染为 PDF 的网页转换为图像,全部无需复杂设置。有关更多高级 PDF 功能,请查看 IronPDF 的详细文档,其中包含示例代码和说明,以探索 IronPDF 的所有功能。
准备在您的 C# 应用程序中实现 PDF 到图像转换了吗? 开始免费试用享受无限次转换和优先支持。

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


