如何将 PDF 栅格化为图像

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

立即在您的项目中开始使用IronPDF,并享受免费试用。

第一步:
green arrow pointer



将 PDF 光栅化为图像示例

RasterizeToImageFiles 方法用于从 PDF 文档中导出图像。 此方法适用于PdfDocument对象,无论您是在本地导入PDF文档文件还是从中渲染它HTML 文件到 PDF 的转换指南, HTML 字符串到 PDF 的转换指南,或者URL 至 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

输出文件夹

输出文件夹

如果希望表单字段的值在输出图像中可见,请在将PDF转换为图像之前展平PDF或在方法的Flatten参数中传递true。 使用 "Flatten "方法后,将无法检测到表格。

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


将 PDF 栅格化为图像高级示例

让我们探索 RasterizeToImageFiles 方法可用的额外参数。

指定图像类型

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

  • ToBitmap:栅格化(渲染)将 PDF 转换为单独的 IronSoftware.Drawing.AnyBitmap 对象,每页一个 Bitmap。
  • ToJpegImages:将PDF页面渲染为JPEG文件并保存到磁盘。
  • ToPngImages:将 PDF 页面渲染为 PNG(便携式网络图形)将文件保存到磁盘。
  • ToTiffImages:将PDF页面渲染为单页TIFF(标签 图像文件格式 / Tif)将文件保存到磁盘。
  • 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
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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

指定 DPI

使用默认的DPI为96时,输出图像可能会显得模糊。 为了缓解这种现象,重要的是要指定更高的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
VB   C#

指定页面索引

也可以指定您想要将其光栅化成图像的PDF文档的页面。(s). 在下面的例子中,将生成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
VB   C#

指定图片尺寸

将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
VB   C#

输出图像的规格

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

从 PDF 肖像中光栅化图像
从横向 PDF 文件光栅化图像
Chaknith related to 输出图像的规格

查克尼特·宾

软件工程师

Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。