使用IRONPDF FOR NODE.JS

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

发布 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
mkdir pdf-to-text-node
cd pdf-to-text-node
npm init -y
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'mkdir pdf-@to-text-node cd pdf-@to-text-node npm init -y
VB   C#

第 2 步:安装 IronPDF

使用 npm 安装 IronPDF:

npm install ironpdf
npm install ironpdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install ironpdf
VB   C#

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

步骤 1:导入必要的模块

import { PdfDocument } from "@ironpdf/ironpdf";
import { IronPdfGlobalConfig } from "@ironpdf/ironpdf";
import fs from "fs";
import { PdfDocument } from "@ironpdf/ironpdf";
import { IronPdfGlobalConfig } from "@ironpdf/ironpdf";
import fs from "fs";
import
If True Then
	PdfDocument
End If
from "@ironpdf/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironpdf/ironpdf"
import fs from "fs"
VB   C#

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

步骤 2:设置异步功能

(async function createPDFs() {
  // ...
})();
(async function createPDFs() {
  // ...
})();
(async [function] createPDFs() { })()
VB   C#

这里定义了一个名为 createPDFs 的异步匿名函数,并立即调用。 这种设置允许在函数内使用await,便于处理异步操作,这在处理文件 I/O 和 IronPDF 等外部库时很常见。

步骤 3:应用许可证密钥

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

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

第 4 步:加载 PDF 文档

const pdf = await PdfDocument.fromFile("report.pdf");
const pdf = await PdfDocument.fromFile("report.pdf");
const pdf = Await PdfDocument.fromFile("report.pdf")
VB   C#

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

第 5 步:从 PDF 中提取文本

const text = await pdf.extractText();
const text = await pdf.extractText();
const text = Await pdf.extractText()
VB   C#

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

步骤 6:处理提取的文本

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

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

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

fs.writeFileSync("extracted_text.txt", text);
fs.writeFileSync("extracted_text.txt", text);
fs.writeFileSync("extracted_text.txt", text)
VB   C#

该更正行使用 fs 模块的 writeFileSync 方法将提取的文本同步写入文件。

步骤 8:错误处理

} catch (error) {
  console.error("An error occurred:", error); //log error
}
} catch (error) {
  console.error("An error occurred:", error); //log error
}
}
Catch e1 As [error]
  console.error("An error occurred:", [error]) 'log error
End Try
VB   C#

最后,代码包括一个用于错误处理的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);
  }
})();
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);
  }
})();
import
If True Then
	PdfDocument
End If
from "@ironpdf/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironpdf/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
	try {
		const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const pdf = Await PdfDocument.fromFile("old-report.pdf"); const text = Await pdf.extractText(); const wordCount = text.split(/\s+/).length; console.log("Word Count:", wordCount); fs.writeFileSync("extracted_text.txt", text); console.log("Extracted text saved to extracted_text.txt");
	}
	catch ([error]) { console.error("An error occurred:", [error]); }
})()
VB   C#

该脚本包含从 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 选项。

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

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

免费 npm 安装 查看许可证 >