如何将PDF转换为图像文件

Darrius Serrant
Darrius Serrant
2023年七月18日
更新 2025年一月8日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

要将PDF文件转换为图像,请使用IronPDF的NodeJS模块提供的rasterizeToImageFiles方法。 您可以配置此方法以支持多种PDF到图像的转换操作。 将PDF转换为JPG、PNG和其他图像格式。 将每个PDF页面转换为JPEG或PNG图像,或仅转换几个页面。 IronPDF为您提供完全的控制权。

继续阅读以了解如何使用 IronPDF for Node.js 执行 PDF 转换为图像的任务!

使用 NPM 安装 IronPDF

npm i @ironsoftware/ironpdf

从 NPM 安装 IronPDF 的 Nodejs 模块,以将 PDF 转换为 PNG、JPG(或 JPEG)、GIF 及其他图像类型。

将PDF转换为图像格式

假设我们正在处理一个包含占位符文本的单页样本PDF文档

如何将 PDF 转换为图像文件,图 1

**一张图片显示我们的示例PDF文件在PDF查看器应用程序中打开。 从Learning Container下载此PDF文件和其他供测试用的文件。

下面的源代码将PDF文件转换为PNG文件。

import { PdfDocument } from "@ironsoftware/ironpdf";

// Convert PDF File to a PNG File
await PdfDocument.fromFile("./sample-pdf-file.pdf").then((resolve) => {
    resolve.rasterizeToImageFiles("./images/sample-pdf-file.png");
    return resolve;
});
NODE.JS

我们使用PdfDocument.fromFile方法将示例文档加载到Node库中。 此函数在 IronPDF 中提供了一个PdfDocument,表示我们的示例文件。由于我们需要的对象包含在Promise中,因此我们附加了一个回调函数,以便在 Promise 解析PdfDocument时运行。

在回调函数中,我们在已解析的对象上调用rasterizeToImageFiles IronPDF函数,将单页文档转换为图像。 如上所示,我们将新图像的目标路径(包括文件名和文件扩展名)作为参数指定。

如何将 PDF 转换为图像文件,图 2

该图像是从上面的源代码生成的。 IronPDF 仅用三行代码就将我们的示例 PDF 转换为 PNG 文件!

Learning Container 提供了示例 PDF 文件,您可以在项目中用于测试目的。 您可以从网站免费下载此示例中使用的 PDF 文件(以及类似的样本文件)。请随意在其他不同大小和复杂度的 PDF 文件上尝试上面的示例。

下一部分提供了值得考虑的额外PDF到图像转换细节。

高级图像转换选项

将PDF转换为JPEG

默认情况下,rasterizeToImageFiles 会根据目标路径中指定的文件类型转换文档。

因此,为了将我们在前面示例中使用的示例PDF转换为JPG文件(而不是将PDF转换为PNG),我们只需更改目标文件路径中使用的文件扩展名:

// Convert PDF to JPG (not to PNG)
pdf.rasterizeToImageFiles("./images/pdf-to-jpeg.jpg");
NODE.JS

另一种实现相同功能的方法是在IronPDF中指定ImageType选项ImageType 值优先于在目标路径中声明的图像文件类型。 这迫使rasterizeToImageFiles在执行图像到PDF任务时不考虑文件名。

在下一个示例中可以看到这一点。 在这里,我们在调用rasterizeToImageFiles时包含一个JSON选项参数,该参数声明了ImageType

import { PdfDocument, ImageType } from "@ironsoftware/ironpdf";

// Convert PDF to JPEG Format using ImageType.JPG
const options = {
   type: ImageType.JPG
};
await PdfDocument.fromFile("./sample-pdf-file.pdf").then((resolve) => {
    pdf.rasterizeToImageFiles("./images/pdf-to-jpeg.png", options);
    return resolve;
});
NODE.JS

运行上述程序也会像我们之前的示例一样创建一个JPG图像。 请注意,目标文件名仍然使用PNG文件扩展名。 rasterizeToImageFiles 忽略了路径中使用的.PNG文件扩展名,而是遵循了ImageType.JPG类型值。

您可以调整此示例以将PDF转换为其他图像类型,包括GIF格式和位图格式。

提示:使用这种方法在需要将文件名更改为特定类型不可行或不需要的情况下特别有用。

将多页 PDF 文件转换

要将包含多页的文档转换为所需的图像类型(PNG、JPG、Bitmap等),我们同样可以使用rasterizeToImageFiles方法。 当调用时,该方法将每个页面作为指定类型的单独图像输出。

如何将PDF转换为图像,图3

一份两页的示例PDF文档。

下一段示例代码从上面显示的两页PDF文件示例生成两个PNG文件。

import { PdfDocument } from "@ironsoftware/ironpdf";

// Convert PDF with two pages to a set of images.
await PdfDocument.fromFile("./multipage-pdf.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/multipage-pdf/multipage-pdf-page.png");
});
NODE.JS

如何将PDF转换为图像,图4

使用rasterizeToImageFiles方法处理一个两页PDF文件的结果。该方法为原文件的每一页创建一个图像。

将特定PDF页面转换为图片。

声明一个设置了fromPages属性的JSON对象可以让我们从多页文档中栅格化一个或多个页面(而不是所有页面)。

以下代码示例仅将此大型示例文件的第一页、第四页、第六页和第九页转换为位图。

import { PdfDocument, ImageType } from "@ironsoftware/ironpdf";

// Convert PDF containing many pages to BMP images.
const options = {
    type: ImageType.BMP,
    fromPages: [0, 3, 5, 8]  // Select only the pages with an image on it.
};
await PdfDocument.fromFile("./sample-pdf-with-images.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/multipage-selective-pdf/multipage-pdf-page.bmp", options);
});
NODE.JS

如何将PDF转换为图像,图5

IronPDF仅对我们在options参数中指定的页面执行了PDF到图像的操作。

开始使用IronPDF

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

第一步:
green arrow pointer


更多阅读

API文档

阅读关于PdfDocument及其rasterizeToImageFiles方法的API文档,以获得更多关于如何调整该方法以满足您需求的见解。

代码示例

Darrius Serrant
全栈软件工程师(WebOps)

达瑞乌斯·塞兰特拥有迈阿密大学计算机科学学士学位,目前在Iron Software担任全栈WebOps营销工程师。从小对编码的热爱使他认为计算机既神秘又易接近,成为创意和解决问题的完美媒介。

在Iron Software,达瑞乌斯乐于创造新事物并简化复杂概念,使其更易于理解。作为我们在职开发者之一,他还自愿教授学生,将他的专业知识传授给下一代。

对达瑞乌斯而言,他的工作之所以令人满足,是因为它具有价值并产生了真正的影响。