如何将PDF栅格化为图像

How to Rasterize a PDF to Images

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

PDF 文件的光栅化涉及将其转换为基于像素的图像格式,如 JPEG 或 PNG。 此过程将 PDF 的每一页转换为静态图像,其中内容以像素表示。 光栅化具有多个优势,包括能够显示 PDF 内容、生成缩略图、进行图像处理以及促进安全的文档共享。

借助 IronPDF,您可以轻松地以编程方式将 PDF 转换为图像。 无论您需要在应用程序中集成 PDF 渲染、生成图像预览、执行基于图像的操作,还是增强文档安全性,IronPDF 都能满足您的需求。

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

使用 IronPDF 的简单 API 轻松将 PDF 页面转换为图像。 本快速入门指南展示了如何加载 PDF 并将每一页导出为图像文件,让您能无缝地将光栅化功能集成到 .NET 应用程序中。 非常适合用于生成缩略图、增强文档安全或准备文件进行进一步处理,这种方法确保了顺畅高效的工作流程。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    IronPdf.PdfDocument.FromFile("input.pdf").RasterizeToImageFiles("page_*.png");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小工作流(5 步)

  1. 下载用于将 PDF 光栅化为图像的 C# 库
  2. 加载现有的 PDF 或从文件、HTML 或 URL 创建 PDF
  3. 调用 RasterizeToImageFiles 方法以从 PDF 文档中导出图像
  4. 指定 DPI 以提高清晰度
  5. 根据您的要求指定自定义输出图像尺寸


将 PDF 光栅化为图像实例

使用 RasterizeToImageFiles 方法从 PDF 文档中导出图像。 This method is available on the PdfDocument object, whether you are importing a PDF document file locally or rendering it from an HTML file to PDF conversion guide, HTML string to PDF conversion guide, or URL to PDF conversion guide.

请注意文件名模式的 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出文件夹

class="content-img-align-center">
class="center-image-wrapper"> 输出文件夹

如果表单字段的值希望在输出图像中可见,请在将其转换为图像之前展平特定的 PDF 或将 Flatten 参数设为 true。 使用 Flatten 方法后,表单将不可检测。

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

光栅化为高质量位图

对于希望在转换为位图时保留原始图像分辨率的用户,请使用 ToBitmapHighQuality 而不是 ToBitmapToBitmap 方法从 JPEG 解码返回图像,而 ToBitmapHighQuality 方法从 BMP 格式解码返回图像。 BMP 格式存储每个像素的原始数据,结果图像更加清晰,但文件体积也很大。相反,JPEG 使用有损压缩算法,显著减小文件体积,但图像略有模糊。 对于大多数使用场景,如打印和查看 PDF,JPEG 的图像质量足够。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

<hr

高级示例:将 PDF 光栅化为图像

让我们探讨 RasterizeToImageFiles 方法可用的其他参数。

指定图像类型

该方法提供的另一个参数允许您指定输出图像的文件类型。 我们支持 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 格式并以字符串形式返回。
:path=/static-assets/pdf/content-code-examples/how-to/rasterize-pdf-to-images-image-type.cs

指定 DPI

默认使用 96 的 DPI 时,输出图像可能显得模糊。 为了提高清晰度,在光栅化时需要指定更高的 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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

指定页面索引

还可以指定要光栅化为图像的 PDF 文档页面。 在下面的示例中,将生成 PDF 文档第 1-3 页的图像。

: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));
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

指定图像尺寸

在将 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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

输出图像规格

输出图像的尺寸使用宽乘以高的格式指定,记为宽 x 高。

class="competitors-section__wrapper-even-1">
从纵向 PDF 光栅化的图像
从横向 PDF 光栅化的图像

常见问题解答

什么是PDF栅格化过程?

PDF栅格化涉及使用像IronPDF这样的软件工具将PDF文档的每一页转换为基于像素的图像格式,如JPEG或PNG。

为什么栅格化PDF有用?

栅格化PDF对于以图像形式显示内容、生成缩略图、执行图像处理以及通过防止文本提取来增强文档安全性是有用的。

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

您可以使用IronPDF的RasterizeToImageFiles方法在C#中将PDF文档以编程方式转换为BMP、JPEG、PNG、GIF、TIFF和SVG等图像格式。

PDF可以转换成哪些图像文件格式?

使用像IronPDF这样的工具,PDF可以栅格化为包括BMP、JPEG、PNG、GIF、TIFF和SVG在内的各种图像格式。

如何调整DPI以在栅格化PDF时获得更清晰的图像?

在使用IronPDF栅格化PDF时,可以指定所需的DPI,这使您可以控制输出图像的清晰度和分辨率。

PDF的特定页面可以被栅格化为图像吗?

是的,IronPDF允许您通过在转换方法中定义页面索引来指定PDF文档的特定页面进行图像栅格化。

如何更改PDF转换后的图片尺寸?

在使用IronPDF将PDF转换为图像时,您可以自定义输出图像的尺寸,通过设置最大高度和宽度来保持宽高比。

确保转换后的图像中的表单字段可见的方法是什么?

为确保输出图像中的表单字段可见,您应在转换之前使用IronPDF将PDF表单扁平化,或在方法中启用扁平化选项。

如何将PDF保存为多页TIFF文件?

通过IronPDF,您可以使用ToMultiPageTiffImage方法将PDF的所有页面转换并保存为单个多页TIFF文件。

是否可以将PDF转换为SVG格式?

是的,IronPDF提供例如SaveAsSvgToSvgString的方法来将PDF文档转换为SVG格式。

IronPDF 是否支持在 .NET 10 项目中开箱即用地对 PDF 进行栅格化?

是的——IronPDF 与 .NET 10 完全兼容,并且在 .NET 10 应用程序中使用时,支持将 PDF 栅格化为图像,而无需特殊的变通方法。

Chaknith Bin
软件工程师
Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。
准备开始了吗?
Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布