在 Node.js 中使用 REST API 从 PDF 中提取文本

您可以轻松地解析 PDF 文档并以编程方式在云端提取所有文本。在本文中,您将学习如何在 Node.js 中使用 REST API 从 PDF 文档中提取文本。

本文应涵盖以下主题:

用于提取文本的 PDF 解析器 REST API 和 Node.js SDK

为了解析 PDF 文档,我将使用 GroupDocs.Parser Cloud 的 Node.js SDK API。它允许您解析来自 50 多种支持的文档格式 的数据。它还支持在 Node.js 应用程序中解析容器,如 ZIP 档案、OST 邮件数据文件、电子书、标记和 PDF 组合。您可以使用 SDK 通过模板提取文本、图像和解析数据。它还为云 API 提供 .NET、Java、PHP、Ruby 和 Python SDK 作为其文档解析器家族成员

您可以在控制台中使用以下命令将 GroupDocs.Parser Cloud 安装到您的 Node.js 应用程序:

npm install groupdocs-parser-cloud

在执行上述步骤之前,请从仪表板获取您的客户端 ID 和密码。获得 ID 和密码后,添加如下所示的代码:

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const configuration = new groupdocs_parser_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

在 Node.js 中使用 REST API 从 PDF 中提取文本

您可以按照下面提到的简单步骤从 PDF 文档中提取文本:

上传文件

首先,使用下面给出的代码示例将 PDF 文档上传到云端:

// 构造FileApi
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let filePath = 'C:\\Files\\Parser\\sample.pdf';

fs.readFile(filePath, (err, fileStream) => {
  // 创建文件上传请求
  let request = new groupdocs_parser_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // 上传文件
  fileApi.uploadFile(request);
});

因此,上传的 PDF 文件将在云端仪表板的 文件部分 中可用。

使用 Node.js 从 PDF 文档中提取文本

您可以按照以下步骤轻松地以编程方式从 PDF 文档中提取所有文本:

  • 创建 ParseApi 的实例。
  • 创建 FileInfo 的实例。
  • 然后,设置 PDF 文件的路径。
  • 创建 TextOptions 的实例。
  • 然后,将 FileInfo 分配给 TextOptions。
  • 现在,使用 TextOptions 创建 TextRequest 的实例。
  • 最后,通过使用 TextRequest 调用 ParseApi.text() 方法来获取结果。

以下代码示例展示了如何在 Node.js 中使用 REST API 从 PDF 文档中提取所有文本。

// 接口初始化
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// 输入文件
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// 定义文本选项
let options = new groupdocs_parser_cloud.TextOptions();
options.fileInfo = fileInfo;

// 创建文本请求
let request = new groupdocs_parser_cloud.TextRequest(options);

// 提取文本
let result = await parseApi.text(request);
console.log(result.text);
在 Node.js 中使用 REST API 从 PDF 中提取文本

在 Node.js 中使用 REST API 从 PDF 中提取文本

使用 Node.js 从 PDF 文档中按页码获取文本

您可以按照以下步骤以编程方式从 PDF 文件的特定页面中提取文本:

  • 创建 ParseApi 的实例。
  • 创建 FileInfo 的实例。
  • 然后,设置 PDF 文件的路径。
  • 创建 TextOptions 的实例。
  • 然后,将 FileInfo 分配给 TextOptions。
  • 设置起始页码和要提取的总页数。
  • 现在,使用 TextOptions 创建 TextRequest 的实例。
  • 最后,通过使用 TextRequest 调用 ParseApi.text() 方法来获取结果。

以下代码示例显示了如何使用 REST API 按页码从 PDF 文档中提取文本。

// 接口初始化
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// 输入文件路径
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// 定义文本选项
let options = new groupdocs_parser_cloud.TextOptions();
options.fileInfo = fileInfo;
options.startPageNumber = 0;
options.countPagesToExtract = 1;

// 创建文本请求
let request = new groupdocs_parser_cloud.TextRequest(options);

// 提取文本
let result = await parseApi.text(request);

// 显示结果
let pages = result.pages;
pages.forEach(page => console.log("Page No: " + page.pageIndex + 1 + " - " + page.text));
使用 Node.js 从 PDF 文档中按页码获取文本

使用 Node.js 从 PDF 文档中按页码获取文本

使用 Node.js 从 PDF 附件中提取文本

您可以按照下面提到的步骤从容器内的文档中提取文本,以编程方式作为 PDF 文件中的附件提供。

  • 创建 ParseApi 的实例。
  • 创建 FileInfo 的实例。
  • 然后,设置 PDF 文件的路径。
  • 或者,提供文件密码。
  • 现在,创建 ContainerItemInfo 的一个实例
  • 然后,设置附件的相对路径
  • 创建 TextOptions 的实例。
  • 然后,将 FileInfo 和 ContainerItemInfo 分配给 TextOptions。
  • 现在,使用 TextOptions 创建 TextRequest 的实例
  • 最后,通过使用 TextRequest 调用 ParseApi.text() 方法获得结果

以下代码示例显示了如何使用 REST API 从 PDF 文档中的文档中提取文本。

// 接口初始化
let parseApi = groupdocs_parser_cloud.ParseApi.fromConfig(configuration);

// 输入文件
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "PDF_with_Attachments.pdf";
fileInfo.password = "password";

// 输入容器项目
let containerInfo = new groupdocs_parser_cloud.ContainerItemInfo();
containerInfo.relativePath = "template-document.pdf";

// 定义文本选项
let options = new groupdocs_parser_cloud.TextOptions();
options.fileInfo = fileInfo;
options.containerItemInfo = containerInfo;

// 创建文本请求
let request = new groupdocs_parser_cloud.TextRequest(options);

// 提取文本
let result = await parseApi.text(request);
console.log(result.text);
使用 Node.js 从 PDF 附件中提取文本

使用 Node.js 从 PDF 附件中提取文本

在线试用

请试用以下使用上述 API 开发的免费在线 PDF 解析工具。 https://products.groupdocs.app/parser/pdf

结论

在本文中,您学习了如何解析云端 PDF 文档。此外,您还了解了如何使用 Node.js 中的 REST API 按页码和 PDF 文件的容器项提取文本。本文还介绍了如何以编程方式将 PDF 文件上传到云端。此外,您可以使用 文档 了解有关 GroupDocs.Parser Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看