如何将PDF栅格化为图像

如何用 C# 将 PDF 栅格化为图像

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF通过使用RasterizeToImageFiles方法提供了一种简单的方法将PDF页面转换为PNG、JPEG或TIFF等图像格式,从而能够轻松在您的.NET应用程序中集成PDF到图像的转换,用于缩略图、预览或图像处理。

栅格化 PDF 将 PDF 转换成 JPEG 或 PNG 等基于像素的图像格式。 该流程将每个页面转换为由像素表示的静态图像。 光栅化可以实现 PDF 内容显示、缩略图生成、图像处理和安全的文档共享。

使用 IronPDF,您可以通过编程将 PDF 转换为图像。 无论您是需要在应用程序中加入 PDF 渲染功能、生成图像预览、执行基于图像的操作,还是需要增强文档安全性,IronPDF 都能为您提供必要的工具。 该库支持各种图像格式,并提供对输出质量、尺寸和页面选择的控制。 您可以利用 IronPDF 的 Chrome PDF 渲染引擎进行精确渲染,保留原始文档的外观。

快速入门:使用 IronPDF 在 .NET 中轻松实现 PDF 栅格化

使用 IronPDF 的简单 API 将 PDF 页面转换为图像。 本快速入门手册演示了如何加载 PDF 并将每个页面导出为图像文件,从而将光栅化功能集成到您的 .NET 应用程序中。 非常适合生成缩略图、增强文档安全性或为进一步处理文件做准备。

  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 复制并运行这段代码。

    IronPdf.PdfDocument.FromFile("input.pdf").RasterizeToImageFiles("page_*.png");
  3. 部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronPDF

    arrow pointer


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

RasterizeToImageFiles方法从PDF文档中导出图像。 无论是从本地导入 PDF 文档文件,还是从 HTML 文件到 PDF 的转换指南HTML 字符串到 PDF 的转换指南URL 到 PDF 的转换指南渲染 PDF 文档文件,都可以在 PdfDocument 对象上使用此方法。

该方法可灵活地从 PDF 文档中生成图像。 您可以转换整个文档或特定页面,控制输出格式和质量,并为生成的图像指定自定义尺寸。 因此,从创建缩略图预览到生成用于打印的高分辨率图像,它都是各种用例的理想选择。

请注意FileNamePattern 参数需要指定文件扩展名,例如 .png、.jpg 或 .tif。

提示文件名模式中包含的星号 (*) 字符将被替换为相应的页码。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-rasterize.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png");
$vbLabelText   $csharpLabel

对于更复杂的 PDF 生成场景,请探索 将 CSHTML 转换为 PDF 或了解 自定义渲染选项,以便在光栅化之前对 PDF 创建流程进行微调。

输出图像保存在哪里?

文件资源管理器显示 PDF 转换输出:net6.0 构建目录中的 5 个 PNG 文件 (wikipage_1-5.png)

默认情况下,输出图像会保存到应用程序的当前工作目录,通常是项目的 bin/Debug 或 bin/Release 文件夹。 您可以指定绝对路径或相对路径,将图像保存到自定义位置。 例如,@"C:\Output\page_*.png"将图像保存到C:\Output目录。

如果输出图像中的表单字段值应该可见,请在将 PDF 转换为图像之前对其进行扁平化处理,或向方法的 Flatten 参数传递 true。 使用Flatten方法后,表单将无法被检测到。 了解有关 flattening PDFs 的更多信息,以便更好地理解这一过程。

在文章中了解如何以编程方式填写和编辑 PDF 表单:"如何填写和编辑 PDF 表单"。

如何生成高质量位图图像?

要在转换为Bitmap时保留图像的原始分辨率,请使用ToBitmapToBitmapHighQuality方法返回从BMP格式解码的图像。

BMP 格式存储原始像素数据,因此图像更清晰,但文件尺寸更大。 JPEG 采用有损压缩,以轻微模糊为代价,大大减小了文件大小。 对于打印和查看 PDF 等大多数使用情况,JPEG 图像质量已经足够。 对于需要高视觉保真度的 PDF,请浏览我们的像素完美的 HTML 格式化指南。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-to-bitmap-high-quality.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("url.pdf");

var image = pdf.ToBitmapHighQuality();
image[0].SaveAs("output.png");
$vbLabelText   $csharpLabel

PDF 光栅化有哪些高级选项?

让我们探索RasterizeToImageFiles方法可用的其他参数。 IronPDF 可对光栅化过程进行全面控制,允许根据具体要求进行定制。

我可以导出哪些图像格式?

另一个参数允许您指定输出图像的文件类型。 支持的格式包括 BMP、JPEG、PNG、GIF、TIFF 和 SVG。 每种类型都有一个相应的方法,可以直接从PdfDocument对象调用:

  • ToBitmap:将PDF栅格化为单个AnyBitmap对象,每页一个Bitmap。
  • ToJpegImages:将PDF页面渲染为JPEG文件并保存到磁盘。
  • ToPngImages:将PDF页面渲染为PNG文件并保存到磁盘。
  • ToTiffImages:将PDF页面渲染为单页TIFF文件并保存到磁盘。
  • ToMultiPageTiffImage:将PDF页面渲染为多页的单个TIFF文件。
  • SaveAsSvg:将PDF转换为SVG格式并保存到指定路径。
  • ToSvgString:将特定的PDF页面转换为SVG格式并作为字符串返回。

如需使用矢量图形,请浏览我们的在 PDF 生成中使用 SVG 图形的指南,它是对 SVG 导出功能的补充。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-image-type.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png", IronPdf.Imaging.ImageType.Png);
$vbLabelText   $csharpLabel

如何使用 DPI 设置提高图像清晰度?

默认 DPI 为 96,可能会产生模糊的输出图像。 为提高清晰度,请在光栅化时指定更高的 DPI 值。 DPI(点/英寸)直接影响分辨率和文件大小。DPI 值越高,图像越清晰,但文件尺寸也越大。

常用 DPI 设置:

  • 96 DPI:网络显示的标准屏幕分辨率
  • 150 DPI:适合查看一般文档
  • 300 DPI:高质量,便于打印
  • 600 DPI:专业打印质量
:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-dpi.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF with DPI 150
pdf.RasterizeToImageFiles("wikipage_*.png", DPI: 150);
$vbLabelText   $csharpLabel

如何将特定页面转换为图像?

您可以指定将 PDF 文档中的哪些页面光栅化为图像。 下面的示例可生成 PDF 第 1-3 页的图像。该功能可用于创建特定页面的缩略图,或在处理大型 PDF 文档时只需将某些页面生成图像。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-page-indexes.cs
using IronPdf;
using System.Linq;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF page 1_3
pdf.RasterizeToImageFiles("wikipage_*.png", Enumerable.Range(1, 3));
$vbLabelText   $csharpLabel

有关高级页面操作,请浏览我们的添加、复制和删除页面分割 PDF 指南。

如何控制输出图像的尺寸?

将 PDF 文档转换为图像时,您可以自定义输出图像的高度和宽度。 指定值代表最大尺寸,同时保留原始文件的长宽比。 对于纵向 PDF 文档,指定的高度值将是精确的,而宽度会进行调整以保持正确的宽高比。

当图片必须符合特定尺寸才能在网络上显示、缩略图或其他要求尺寸一致的应用程序时,该功能就显得至关重要。 保持长宽比,确保内容不会出现拉伸或扭曲。

:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-image-dimensions.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png", 500, 500);
$vbLabelText   $csharpLabel

设置尺寸时纵横比会发生什么变化?

输出图像的尺寸采用宽乘高格式(宽 x 高)。 IronPDF 可智能处理宽高比保留问题,确保图像保持原始比例。

File properties showing PNG output from PDF rasterization: 353x500 pixels, 71.3 KB, with Wikipedia page thumbnail
File properties showing rasterized PDF output: 500x353 PNG, 50.5 KB, created 7/13/2023

PDF 光栅化的其他注意事项

在应用程序中将 PDF 转换为图像时,请考虑以下最佳实践:

1.性能优化:对于大型 PDF 文档或批处理,请使用 async 和多线程技术来提高性能。

2.内存管理:高分辨率光栅化会消耗大量内存。 监控应用程序的内存使用情况,批量处理大型文档的页面。

3.输出存储:对于 Web 应用程序,请探索 与 Azure Blob Storage 协同工作以实现高效的图像存储和检索。

4.质量与文件大小:根据您的使用情况平衡 DPI 设置。 更高的 DPI 可以生成质量更好但更大的文件,从而影响存储和带宽需求。

利用 IronPDF 的全面光栅化功能,您可以将 PDF 文档转换为各种图像格式,同时保持对质量、尺寸和输出规格的全面控制。 无论是构建文档管理系统、创建预览功能还是生成缩略图,IronPDF 都能提供高效的 PDF 图像转换工具。

常见问题解答

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

使用 IronPDF,您可以使用 RasterizeToImageFiles 方法将 PDF 页面转换为图像。只需加载 PDF 文档并调用该方法,即可将页面导出为 PNG、JPEG 或 TIFF 图像。该方法可用于 PdfDocument 对象,并支持转换整个文档或具有自定义尺寸和质量设置的特定页面。

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

IronPDF 支持将 PDF 转换为多种图像格式,包括 PNG、JPEG 和 TIFF。格式由您在 RasterizeToImageFiles 方法中指定的文件扩展名自动决定,因此可以轻松生成您首选格式的图像。

我能否控制转换后图像的质量和尺寸?

是的,IronPDF 在光栅化 PDF 时提供对输出质量和尺寸的全面控制。您可以指定自定义 DPI 设置以提高清晰度,并根据您的要求设置特定的输出尺寸,确保生成的图像符合您的确切规格。

PDF 转换为图像的常见用例有哪些?

IronPDF 的光栅化功能非常适合生成缩略图、创建文档预览、实现安全的文档共享(因为图像不能被轻易编辑)、执行基于图像的操作以及将 PDF 渲染集成到需要图像格式的应用程序中。

PDF 转换为图像的准确性如何?

IronPDF 使用 Chrome PDF 渲染引擎来确保准确渲染,保留原始文档的外观。这意味着字体、布局、图形和格式都能在生成的图像中忠实再现。

我能否将 PDF 的特定页面转换为图像?

是的,IronPDF 的 RasterizeToImageFiles 方法可灵活转换 PDF 文档中的特定页面或页面范围,而不仅仅是整个文档。这样,您就可以有选择性地只将需要的页面导出为图像。

Curtis Chau
技术作家

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

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

准备开始了吗?
Nuget 下载 17,803,474 | 版本: 2026.3 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。