如何将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等图像格式,轻松将PDF到图像的转换集成到您的.NET应用程序中,用于缩略图、预览或图像处理。

栅格化 PDF 将 PDF 转换成 JPEG 或 PNG 等基于像素的图像格式。 该流程将每个页面转换为由像素表示的静态图像。 光栅化可以实现 PDF 内容显示、缩略图生成、图像处理和安全的文档共享。 using IronPDF,您可以通过编程将 PDF 转换为图像。 无论您是需要在应用程序中加入 PDF 渲染功能、生成图像预览、执行基于图像的操作,还是需要增强文档安全性,IronPDF 都能为您提供必要的工具。 该库支持各种图像格式,并提供对输出质量、尺寸和页面选择的控制。 您可以利用 IronPDF 的 Chrome PDF 渲染引擎进行精确渲染,保留原始文档的外观。

快速入门:使用 IronPDF 在 .NET 中轻松实现 PDF 栅格化 using 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文档中导出图像。 此方法可用于PdfDocument对象,无论是导入本地PDF文档文件还是从HTML文件到PDF转换指南HTML字符串到PDF转换指南URL到PDF转换指南中渲染文档。

该方法可灵活地从 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");
Imports IronPdf

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Render PDF from web URL
Dim pdf As PdfDocument = 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,或将true传递给该方法的Flatten参数。 使用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");
Imports IronPdf

Dim pdf As PdfDocument = PdfDocument.FromFile("url.pdf")

Dim image = pdf.ToBitmapHighQuality()
image(0).SaveAs("output.png")
$vbLabelText   $csharpLabel

Icon Quote related to 如何生成高质量位图图像?

我最喜欢的这种库是 IronPDF。它允许快速高效地操作 PDF 文件。它还具有许多有价值的功能,比如导出为 PDF/A 格式和数字签名 PDF 文档。

Milan Jovanovic related to 如何生成高质量位图图像?

Milan Jovanovic

微软MVP

查看案例研究
Icon Quote related to 如何生成高质量位图图像?

IronOCR 意味着我们每年可以节省 $40,000 的人工处理成本,同时提高生产力,并释放资源用于高影响任务。我强烈推荐它。

Brent Matzelle related to 如何生成高质量位图图像?

Brent Matzelle

首席技术官,OPYN

查看案例研究
Icon Quote related to 如何生成高质量位图图像?

Iron Suite 在我们的运营中起着至关重要的作用。这些工具提高了业务各方面的效率,包括创建平面图和改善库存管理。

David Jones related to 如何生成高质量位图图像?

David Jones

首席软件工程师,Agorus Build

查看案例研究

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

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

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

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

  • 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);
Imports IronPdf

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Render PDF from web URL
Dim pdf As PdfDocument = 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);
Imports IronPdf

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Render PDF from web URL
Dim pdf As PdfDocument = 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));
Imports IronPdf
Imports System.Linq

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

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

' Export images from PDF page 1 to 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);
Imports IronPdf

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

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

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

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

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

文件属性显示 PDF 栅格化的 PNG 输出:353x500 像素,71.3 KB,带有 Wikipedia 页面缩略图
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 协同工作以实现高效的图像存储和检索。

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

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

常见问题解答

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

using 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 下载 20,088,359 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

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