如何将 PDF 栅格化为图像

Chaknith related to 如何将 PDF 栅格化为图像
查克尼特·宾
2023年七月12日
更新 2024年十二月10日
分享:
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 文档导出图像。 无论您是本地导入PDF文档文件,还是从HTML文件到PDF转换指南HTML字符串到PDF转换指南URL到PDF转换指南中渲染,此方法都可用于PdfDocument对象。

请注意
FileNamePattern 参数需要使用 .png、.jpg 或 .tif 等文件扩展名。

提示
FileNamePattern 中包含的星号 (*) 字符将被替换为对应的页码。

: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

输出文件夹

输出文件夹

如果表单字段的值需要在输出图像中可见,请在将 PDF 转换为图像之前对 PDF 进行扁平化处理,或在方法中传递 true 给 Flatten 参数。 在使用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
$vbLabelText   $csharpLabel

指定 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
$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 高度。

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