使用IRONPDF FOR NODE.JS

如何在 Node.js 中从 PDF 中提取图像

从PDF中提取图像是许多开发人员常见的任务,不论是用于文件处理、数据提取,还是创建文档预览。 在本文中,我们将探讨如何使用IronPDF(一个强大的PDF库,适用于.NET)从PDF中提取和保存图像,以及如何通过其NPM包将其集成到Node.js环境中。

如何使用IronPDF for Node.js从PDF文件中提取图像

  1. 设置一个Node.js应用程序。

  2. 安装 IronPDF NPM 包。

  3. 为提取准备PDF。

  4. 从PDF文件中提取图像并保存。

先决条件

如果您还没有安装 Node.js,请从https://nodejs.org/下载并安装。

介绍 IronPDF NPM 包

IronPDF NPM 包是 IronPDF 库的 Node.js 包装器,最初是为 .NET 环境设计的。 它使开发人员能够在 Node.js 应用程序中利用 IronPDF 强大的 PDF 操作功能。 此软件包对于处理PDF文档特别有用,提供了一系列功能,可以在许多实际应用中发挥作用,例如文件处理、报表生成等。

IronPDF 在 Node.js 中的关键功能

  1. PDF 创建

    IronPDF可以从各种来源创建PDF,包括HTML内容、图像,甚至是原始文本。 此功能对于需要生成报告、发票或其他任何PDF格式文档的Web应用程序非常有用。

    IronPDF 支持为 HTML 内容添加样式和格式,使其成为将网页转换为结构良好的 PDF 文档的理想选择。

  2. PDF编辑

    IronPDF 允许您通过添加文本、图像或注释以及修改布局来操作现有的 PDF。 您还可以将多个PDF合并为一个,将大型文档分割成更小的部分,甚至可以重新排序PDF中的页面。

    这些功能使其非常适合需要动态修改PDF的应用程序,例如文档管理系统或需要自动生成文档的应用程序。

  3. PDF转换

    IronPDF 的一大特色是能够将 PDF 转换为多种其他格式。 例如,它可以将PDF文档转换为图像(PNG、JPEG)、HTML和Word格式。

    当您需要以不同格式展示PDF内容或为用户界面创建PDF的图像预览时,此功能特别有用。

  4. 提取文本和图像

    虽然IronPDF没有直接的REST API来从PDF中提取原始图像,但它确实提供了一种将PDF页面渲染为图像(如PNG或JPEG)的方法,这可以作为一种间接提取内容的方式。

    您可以将PDF的每一页渲染为图像,有效地捕获文件的视觉表示,并将其保存以供进一步使用或显示。

  5. 将页面渲染为图像

    IronPDF可以将PDF页面转换为高质量图像。 例如,您可以将多页 PDF 转换为一系列 PNG,每页一个。 当您需要以缩略图或基于图像的格式显示页面时,这特别有用。 它支持多种图像格式类型。

  6. 安全性和加密

    IronPDF支持处理加密的PDF文件。 它允许您打开、解密和处理受保护的文档,这对于处理需要密码或其他形式保护的文档是必不可少的。

  7. 跨平台兼容性

    IronPDF兼容Windows和Linux环境,使其成为服务器端应用程序的多功能工具。 Node.js 包装器简化了将 IronPDF 集成到基于 Node.js 的应用程序中的过程。

步骤 1:设置一个 Node.js 应用程序

首先,在本地机器上创建一个文件夹,并打开 Visual Studio Code 来设置 Node.js 项目文件夹。

mkdir PdfImageExtractor
cd PdfImageExtractor
code .
mkdir PdfImageExtractor
cd PdfImageExtractor
code .
SHELL

步骤 2:安装IronPDF NPM包

在Windows或Linux机器上安装IronPDF Node.js包及其支持包。

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf-engine-windows-x64
npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf-engine-windows-x64
SHELL

@ironsoftware/ironpdf-engine-windows-x64 是 IronPDF 库的一个特定于平台的版本,专为 Windows 64 位系统设计。

适用于Windows的特定平台二进制文件(64位)

IronPDF 库具有特定于平台的依赖关系。 为了让 Node.js 高效地与 IronPDF 一起工作,它需要为特定操作系统和架构量身定制的本地二进制文件。 在这种情况下,@ironsoftware/ironpdf-engine-windows-x64 包为Windows 64位环境提供本地引擎。

2. 优化性能

通过使用此特定于Windows的包,您可以确保IronPDF库在基于Windows的系统上最佳运行。 它确保所有本机依赖项,例如与PDF渲染和操作相关的那些,在您的机器上兼容并流畅运行。

3. 简化安装

与其手动管理和配置 Windows 64 位系统所需的二进制文件,不如安装 @ironsoftware/ironpdf-engine-windows-x64 软件包来自动完成此过程。 这节省了时间并消除了潜在的兼容性问题。

4. 跨平台兼容性

IronPDF 也支持其他平台,如 macOS 和 Linux。 提供特定于平台的软件包,使开发人员能够使用适合其操作系统的正确二进制文件,从而提高库的整体稳定性和可靠性。

5. 某些功能所需

如果您使用某些IronPDF功能(例如将 PDF 渲染为图像或执行复杂的文档操作),则需要本机引擎。 @ironsoftware/ironpdf-engine-windows-x64 包专门为基于Windows的环境包含此引擎。

步骤 3:准备 PDF 进行提取

现在获取需要提取的PDF文件。 复制路径以供应用程序使用。 本文使用以下文件。

如何在Node.js中从PDF中提取图像:图1 - 示例文件

步骤4:从PDF文件中提取图像并保存

现在使用上一步中的文件,并在 Node.js 项目文件夹中的 app.js 文件中编写以下代码片段。

const fs = require('fs');
const { IronPdfGlobalConfig, PdfDocument } = require('@ironsoftware/ironpdf')
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
 (async () => {
    // Extracting Image and Text content from Pdf Documents
    // Import existing PDF document
    const pdf = await PdfDocument.fromFile("ironPDF.pdf");
    // Get all text to put in a search index and log it
    const text = await pdf.extractText();
    console.log('All Text:'+text);
    // Get all Images
    const imagesBuffer = await pdf.extractRawImages();
    console.log('images count:'+imagesBuffer.length);
    fs.writeFileSync("./file1.jpg", imagesBuffer[0]);
   // this code can also be in rest api
})();
var msg = 'Complete!';
console.log(msg); //log complete in console
js
JAVASCRIPT

运行应用程序:

node app.js
node app.js
SHELL

代码解释

此代码片段示例演示了如何在 Node.js 中使用 IronPDF 库从 PDF 文档中提取文本和图像(JPG 格式)。

  1. 许可证设置:IronPdfGlobalConfig 用于设置 IronPDF 的许可证密钥,这是使用库功能所需的。

  2. PDF 加载:代码使用 PdfDocument.fromFile() 方法加载 PDF 文档 (ironPDF.pdf)。 这使程序可以处理PDF的内容。

  3. 文本提取:extractText() 方法用于从加载的 PDF 中提取所有文本。 此文本可用于索引或搜索文档。

  4. 图像提取:extractRawImages() 方法用于从 PDF 中提取原始图像。 这些图像以缓冲区的形式返回,可以进行保存或进一步处理。

  5. 保存图像:提取的图像使用 Node 的 fs.writeFileSync() 方法保存为 JPG 文件到本地文件系统中。

  6. 最终输出:提取完成后,程序会打印出提取的文本和提取的图像数量,并保存第一张图像。

    该代码演示了如何使用IronPDF与PDF文件交互,以提取内容并在Node.js环境中处理这些内容。

输出

如何在 Node.js 中从 PDF 提取图像:图 2 - 控制台输出

如何在 Node.js 中从 PDF 提取图像:图 3 - 图像输出

许可证(可试用)

IronPDF for Node.js 需要许可证密钥才能工作。 开发人员可以通过他们的电子邮件ID从许可证页面获取试用许可证。 一旦您提供电子邮件ID,密钥将被发送到该电子邮件,并可以在应用程序中按如下方式使用。

const { IronPdfGlobalConfig} = require('@ironsoftware/ironpdf')
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";
js
JAVASCRIPT

结论

在 Node.js 中使用 IronPDF 从 PDF 中提取图像提供了一种处理 PDF 内容的强大且高效的方法。 虽然IronPDF不像某些专业工具那样提供直接图像提取功能,但它允许您将PDF页面呈现为图像,这对于创建文档的视觉表现非常有用。

该库能够以简单的方式从PDF中提取文本和图像,这使得它成为需要处理和操作PDF内容的应用程序中一个有价值的工具。 与Node.js的集成使开发人员能够轻松地将PDF提取集成到Web或服务器端应用程序中。

总体而言,IronPDF 是一个强大的 PDF 操作解决方案,提供了将 PDF 转换、保存和提取图像的灵活性,使其适用于各种使用场景,如文档索引、预览生成和内容提取。 然而,如果您专注于从PDF中提取嵌入式图像,探索其他库可能会提供更专业的解决方案。

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

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

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

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

下一步 >
如何在Node.js中编辑PDF文件

准备开始了吗? 版本: 2025.5 刚刚发布

查看许可证 >