如何将 PDF 转换为图像文件

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

用于PDF的Node.js库

安装使用 npm

 npm i @ironsoftware/ironpdf

从NPM安装IronPDF的Node.js模块以将PDF转换为PNG、JPG (或 JPEG)、GIF 和其他图像类型

将 PDF 转换为图像格式

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

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

描述在 PDF 查看器应用程序中打开的 PDF 示例文件的图像。从 "学习容器 "下载此 PDF 文件和其他 PDF 文件用于测试:https://www.learningcontainer.com/

下面的源代码将 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 库中。该函数提供了一个 PDFDocument 代表我们的示例文件。由于我们需要的对象包含在 承诺,我们附加一个回调函数,以便在承诺解析出 PdfDocument 时运行。

在回调函数中,我们调用 光栅化图像文件 方法将单页文档转换为图像。如上图所示,我们指定了目标路径 (其中包括文件名和文件扩展名) 作为新图像的参数。

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

图片由上述源代码生成。IronPDF 仅用三行代码就将我们的 PDF 样本转换成了 PNG 文件!

学习容器提供 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

另一种方法是指定一个(n) 图像类型.图像类型 "值取代目标路径中声明的图像文件类型。这将迫使 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、位图等。)此外,我们还可以像以前一样使用 rasterizeToImageFiles 方法。调用该方法后,每个页面都将以指定类型的图像单独显示。

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

**两页 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

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

将特定 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 转图像操作。

更多阅读

API 参考

阅读有关 PdfDocument 类及其 rasterizeToImageFiles 方法的 API 文档,了解如何调整该方法以满足您的需求。

代码示例