在 Node.js 中使用 REST API 解析 Word 文档

您可能需要出于各种目的从 Word 文档中提取文本或图像。您可以轻松地解析 Word 文档并在 Node.js 应用程序中以编程方式阅读文本。作为 Node.js 开发人员,您可以在云端以编程方式从 DOCX 文件中提取所有文本和图像。本文将重点介绍如何在 Node.js 中使用 REST API 解析 Word 文档。

本文应涵盖以下主题:

文档解析器 REST API 和 Node.js SDK

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

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

npm install groupdocs-parser-cloud 

在执行上述步骤之前,请从 dashboard 获取您的 Client ID 和 Secret。获得 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 解析 Word 文档和提取图像

您可以按照以下步骤以编程方式解析 Word 文档并提取图像:

上传文件

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

// 初始化API
let fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\sample.docx';

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

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

使用 Node.js 从 Word 文档中提取图像

您可以按照下面提到的步骤轻松地从 Word 文档中提取所有图像。

  • 创建 ParseApi 的实例
  • 创建 FileInfo 的实例
  • 设置 DOCX 文件的路径
  • 创建 ImageOptions 的实例
  • 将 FileInfo 分配给 ImageOptions
  • 创建图像请求
  • 通过调用 ParseApi.images() 方法获取结果

以下代码示例展示了如何使用 REST API 从 DOCX 文件中提取图像。

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

// 示例文件信息
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// 定义图像选项
let options = new groupdocs_parser_cloud.ImagesOptions();
options.fileInfo = fileInfo;

// 创建图像请求
let request = new groupdocs_parser_cloud.ImagesRequest(options);

// 获取图像
let result = await parseApi.images(request);

// 显示图片下载路径
let images = result.images;
images.forEach(image => {
  console.log("Image path in storage: " + image.path);
  console.log("Download url: " + image.downloadUrl);
  console.log("Image format: " + image.fileFormat + ". Page index: " + image.pageIndex);
});
使用 Node.js 从 Word 文档中提取图像

使用 Node.js 从 Word 文档中提取图像

下载提取的图像

上面的代码示例会将提取的图像保存在云端。您可以使用下面给出的代码示例下载这些图像:

// 初始化接口
var fileApi = groupdocs_parser_cloud.FileApi.fromConfig(configuration);

// 创建文件下载请求
let request = new groupdocs_parser_cloud.DownloadFileRequest("parser/images/sample_docx/image_0.png", myStorage);

// 下载文件
let response = await fileApi.downloadFile(request);

// 将图像文件保存在工作目录中
fs.writeFile("C:\\Files\\images\\image_0.png", response, "binary", function (err) { });
console.log(response);

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

按照下面提到的步骤,您可以轻松地从 Word 文档中提取所有文本。

  • 创建 ParseApi 的实例
  • 创建 FileInfo 的实例
  • 设置 DOCX 文件的路径
  • 创建 TextOptions 的实例
  • 将 FileInfo 分配给 TextOptions
  • 设置起始页码
  • 定义 FormattedTextOptions
  • 创建文本请求
  • 通过调用 ParseApi.text() 方法获取结果

以下代码示例展示了如何使用 REST API 从 DOCX 文件中提取文本。

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

// 示例文件信息
let fileInfo = new groupdocs_parser_cloud.FileInfo();
fileInfo.filePath = "sample.docx";

// 定义文本选项
let options = new groupdocs_parser_cloud.TextOptions();
options.fileInfo = fileInfo;
options.startPageNumber = 0;
options.countPagesToExtract = 1;
options.formattedTextOptions = new groupdocs_parser_cloud.FormattedTextOptions({
  mode: "Html"  // extract text in HTML
});

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

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

// 显示提取的文本
let pages = result.pages;
pages.forEach(page => console.log(page.text));
使用 Node.js 从 Word 文档中提取文本

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

在线试用

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

结论

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

也可以看看