使用IRONPDF FOR NODE.JS

如何在Node.js中将PDF转换为文本

Darrius Serrant
Darrius Serrant
2024年一月4日
分享:

介绍

在 Node.js 中将 PDF 转换为文本是许多应用程序中的常见任务,尤其是在处理数据分析、内容管理系统或甚至简单的转换实用程序时。 在 Node.js 环境和 IronPDF 库 的帮助下,开发人员可以轻松地 将 PDF 文档转换为可用的文本数据。 本教程旨在指导初学者通过设置一个 Node.js 项目,使用 IronPDF 从 PDF 页面文件中提取文本,重点关注安装细节、PDF 解析实现、错误处理和实际应用等关键方面。

如何在 NodeJS 中将 PDF 转换为文本

  1. 在您的集成开发环境中创建一个 Node.js 应用程序。

  2. 使用npm安装PDF库。

  3. 将 PDF 页面加载到应用程序中。

  4. 使用extractText方法提取文本。

  5. 使用提取的文本进行处理并返回数据。

先决条件

在开始这项工作之前,请确保您具备以下条件:

  • Node.js 已安装在您的计算机上。
  • 对 JavaScript 有基本了解。
  • 用于测试运行提取过程的 PDF 文件。

设置 Node.js 项目

第 1 步:初始化 Node.js 应用程序

为您的项目创建一个新目录并启动一个 Node.js 应用程序:

mkdir pdf-to-text-node
cd pdf-to-text-node
npm init -y

第 2 步:安装 IronPDF

使用 npm 安装 IronPDF:

npm install ironpdf

使用 IronPDF 实现 PDF 到文本的转换

步骤 1:导入必要的模块

import { PdfDocument } from "@ironpdf/ironpdf";
import { IronPdfGlobalConfig } from "@ironpdf/ironpdf";
import fs from "fs";
JAVASCRIPT

第一步,导入必要的模块。 PdfDocumentIronPdfGlobalConfig 是从 @ironpdf/ironpdf 包中导入的,它们分别是处理 PDF 文档和配置 IronPDF 所必需的。 fs 模块是一个核心的 Node.js 模块,也被用于处理文件系统操作。

步骤 2:设置异步功能

(async function createPDFs() {
  // ...
})();
JAVASCRIPT

如下,一个名为createPDFs的异步匿名函数被定义并立即调用。 这种设置允许在函数中使用await,从而促进异步操作的处理,这在处理文件I/O和像IronPDF这样的外部库时很常见。

步骤 3:应用许可证密钥

const IronPdfConfig = {
  licenseKey: "Your-License-Key",
};
IronPdfGlobalConfig.setConfig(IronPdfConfig);
JAVASCRIPT

在此步骤中,您将为IronPDF创建一个配置对象,包括许可证密钥,并使用IronPdfGlobalConfig.setConfig应用此配置。 这对于启用 IronPDF 的所有功能至关重要,尤其是在使用授权版本的情况下。

第 4 步:加载 PDF 文档

const pdf = await PdfDocument.fromFile("report.pdf");
JAVASCRIPT

在此步骤中,代码正确地使用PdfDocument类中的fromFile方法来加载现有的PDF文档。 这是一个异步操作,因此使用await。 通过指定 PDF 文件的路径(在本例中为 "old-report.pdf"),pdf 变量变成了您的 PDF 文档的表示,已完全加载并准备好进行文本提取。 这一步至关重要,因为在这一步中将对 PDF 文件进行解析,并为您希望对其执行的任何操作(如提取文本)做好准备。

第 5 步:从 PDF 中提取文本

const text = await pdf.extractText();
JAVASCRIPT

在这里,extractText 方法在 pdf 对象上被调用。 此异步操作从加载的PDF文档中提取所有文本,并将其存储在text变量中。

步骤 6:处理提取的文本

const wordCount = text.split(/\s+/).length;
console.log("Word Count:", wordCount);
JAVASCRIPT

在这一步中,将对提取的文本进行处理,以计算字数。 为此,我们使用正则表达式将文本字符串拆分成一个词组,匹配一个或多个空白字符,然后计算所生成词组的长度。

第 7 步:将提取的文本保存到文件中

fs.writeFileSync("extracted_text.txt", text);
JAVASCRIPT

这行修正的代码使用了fs模块的writeFileSync方法来同步地将提取的文本写入文件。

步骤 8:错误处理

} catch (error) {
  console.error("An error occurred:", error); //log error
}
JAVASCRIPT

最后,代码包括一个try-catch块用于错误处理。 如果try块中的任何异步操作失败,catch块将捕获错误,并将消息记录到控制台。 这对于调试和确保您的应用程序能够从容应对突发问题非常重要。

完整代码

下面是完整的代码,它封装了我们讨论过的在 Node.js 环境中使用 IronPDF 从 PDF 文档中提取文本的所有步骤:

import { PdfDocument } from "@ironpdf/ironpdf";
import { IronPdfGlobalConfig } from "@ironpdf/ironpdf";
import fs from "fs";
(async function createPDFs() {
  try {
    // Input the license key
    const IronPdfConfig = {
      licenseKey: "Your-License-Key",
    };
    // Set the config with the license key
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    // Import existing PDF document
    const pdf = await PdfDocument.fromFile("old-report.pdf");
    // Get all text to put in a search index
    const text = await pdf.extractText();
    // Process the extracted text
    // Example: Count words
    const wordCount = text.split(/\s+/).length;
    console.log("Word Count:", wordCount);
    // Save the extracted text to a text file
    fs.writeFileSync("extracted_text.txt", text);
    console.log("Extracted text saved to extracted_text.txt");
  } catch (error) {
    // Handle errors here
    console.error("An error occurred:", error);
  }
})();
JAVASCRIPT

此脚本包含从PDF文件中提取文本所需的所有组件:使用许可证密钥设置IronPDF,加载PDF文档,提取文本,执行简单的文本分析(在此情况下为字数统计),并将提取的文本保存到文件中。代码被包装在一个异步函数中,以处理Node.js中文件操作和PDF处理的异步特性。

分析输出:PDF 和提取文本

运行脚本后,您将获得两个需要分析的关键组件:原始 PDF 文件和包含提取文本的文本文件。 本节将指导您理解和评估脚本的输出。

原始 PDF 文档

您为此过程选择的 PDF 文件,在本例中名为 "old-report.pdf",是起点。 PDF 文档在复杂程度和内容上可能有很大差异。 译文可能包含简单明了的文字,也可能包含丰富的图片、表格和各种文本格式。 PDF 的结构和复杂程度将直接影响提取过程。

如何在Node.js中将PDF转换为文本:图1 - 原始PDF

提取的文本文件

运行脚本后,将创建一个名为 "extracted_text.txt "的新文本文件。 该文件包含从 PDF 文档中提取的所有文本。

如何在Node.js中将PDF转换为文本:图2 - 提取的文本

这就是控制台的输出结果:

如何在Node.js中将PDF转换为文本:图3 - 控制台输出

实际应用和用例

数据挖掘和分析

从 PDF 中提取文本在数据挖掘和分析中特别有用。 无论是提取财务报告、研究论文还是任何其他 PDF 文档,将 PDF 转换为文本的能力对于数据分析任务都至关重要。

内容管理系统

在内容管理系统中,您经常需要处理各种文件格式。 IronPdf 可以成为管理、归档和检索以 PDF 格式存储的内容的系统中的一个关键组件。

结论

如何在Node.js中将PDF转换为文本:图4 - 授权

本综合指南已引导您完成设置一个 Node.js 项目的过程,以便使用 IronPDF 从 PDF 文档中提取文本。 从处理基本的文本提取到深入研究文本对象提取和性能优化等更复杂的功能,您现在已经掌握了在 Node.js 应用程序中实施高效 PDF 文本提取的知识。

请记住,旅程不会就此结束。 PDF 处理和文本提取领域十分广阔,还有更多的功能和技术有待探索。 迎接挑战,继续提高您在软件开发这一令人兴奋的领域的技能。

值得注意的是,IronPDF 为用户提供了免费试用。 对于那些希望将 IronPDF 整合到专业环境中的人,可提供 License 选项。

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

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

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

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

< 前一页
如何在Node.js中编辑PDF文件
下一步 >
如何在 Node.js 中拆分 PDF 文件

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

查看许可证 >