如何使用 Node.js 在线从 word 文档中提取页面

如何使用 Node.js 从 Word DOC/DOCX Online 中提取页面

您可能需要以编程方式将 word 文档页面提取到多个文档中。通过拆分 word 文档,您可以轻松地从 word 文档中提取页面,并与利益相关者共享特定的信息或数据。作为 Node.js 开发人员,您可以在线将 word 文档提取到云端的单独文件中。在本文中,您将学习如何使用 Node.js 在线从 word DOC/DOCX 中提取页面。

本文应涵盖以下主题:

Word 页面提取器在线 REST API 和 Node.js SDK

为了从 Word 文档中提取页面,我将使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它是在线 Word 页面提取器免费下载库。它允许您从 WordExcelPowerPoint支持的文档格式 中拆分、组合、提取、删除和重新排列单个页面或页面集合]、Visio 绘图PDFHTML

您可以安装 GroupDocs.Merger cloud 以在控制台中使用以下命令从您的 Node.js 应用程序中提取 Word 页面:

npm install groupdocs-merger-cloud

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

# 从 http://api.groupdocs.cloud 在您的节点应用程序中导入 Node.js SDK
global.groupdocs_merger_cloud = require("groupdocs-merger-cloud");
global.fs = require("fs");

// 从 https://dashboard.groupdocs.cloud 获取 clientId 和 clientSecret(需要免费注册)。
global.clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
global.clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
global.myStorage = "test-internal-storage";
const config = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

通过精确页码从 Word 中提取页面到新文档中

您可以按照以下简单步骤以编程方式从云端的 Word 文件中导出特定页面:

上传Word文件

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

// 从系统驱动器打开 IOStream 中的文件。
var resourcesFolder = 'H:\\groupdocs-cloud-data\\input-sample-file.docx';
// 读取文件
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 构建FileApi
  var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
  // 创建上传文件请求
  var request = new groupdocs_merger_cloud.UploadFileRequest("input-sample-file.docx", fileStream, myStorage);
  // 上传文件
  fileApi.uploadFile(request)
    .then(function (response) {
      console.log("Expected response type is FilesUploadResult: " + response.uploaded.length);
    })
    .catch(function (error) {
      console.log("Error: " + error.message);
    });
});

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

在 Node.js 中使用 REST API 提取 Word 页面

您可以按照以下步骤轻松地以编程方式提取 Word 文件的页面:

  • 首先,创建 PagesApi 的实例。
  • 创建 ExtractOptions 的实例。
  • 创建 FileInfo 的实例。
  • 然后,设置输入 Word 文件的路径。
  • 接下来,设置提取的 Word 文件的路径。
  • 在逗号分隔数组中设置特定页码以提取 Word 文件。
  • 使用 ExtractOptions 创建 ExtractRequest。
  • 最后,用 ExtractRequest 调用 pagesApi.extract() 方法得到结果。

以下代码片段展示了如何使用 Node.js 中的 REST API 将 Word 页面提取到单独的文件中:

// 如何通过准确的页码从 Word 中提取页面到新文档中
const extractwordpages = async () => {

  // 接口初始化
  global.pagesApi = groupdocs_merger_cloud.PagesApi.fromKeys(clientId, clientSecret);

  // 定义提取选项
  let options = new groupdocs_merger_cloud.ExtractOptions();
  options.fileInfo = new groupdocs_merger_cloud.FileInfo();
  options.fileInfo.filePath = "nodejs-testing/input-sample-file.docx"; 
  options.outputPath = "nodejs-testing/output-sample-file.docx"; 
  options.pages = [2, 4, 7];
  
  try {
    // 创建提取请求
    let extractRequest = new groupdocs_merger_cloud.ExtractRequest(options);
    // 从 docx 文件中提取页面
    let result = await pagesApi.extract(extractRequest);
  }
  catch (err) {
    throw err;
  }
}

extractwordpages()
.then(() => {
  console.log("Successfully extract Word DOC pages: ");
})
.catch((err) => {
  console.log("Error occurred while extracting pages from Word file:", err);
})

下载提取的文件

上面的代码示例会将分离的文件保存在云端。您可以使用以下代码示例下载它们:

// 构造FileApi下载合并后的文件
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// 创建下载文件请求
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/output-sample-file.docx", myStorage);
// 下载文件和响应类型 Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // 将文件保存在系统目录中
        fs.writeFile("H:\\groupdocs-cloud-data\\output-sample-file.docx", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

在 Node.js 中使用 REST API 按页面范围提取 Word 文档页面

您可以按照以下步骤以编程方式提供一系列页码,从而分别从 Word 中提取和保存页面:

  • 首先,创建 PagesApi 的实例。
  • 创建 ExtractOptions 的实例。
  • 创建 FileInfo 的实例。
  • 然后,设置输入 Word 文件的路径。
  • 接下来,设置提取的 Word 文件的路径。
  • 设置 startPageNumber 和 endPageNumber 值。
  • 然后,将 rangeMode 设置为 EvenPages 或 OddPages
  • 使用 ExtractOptions 创建 ExtractRequest。
  • 最后,用 ExtractRequest 调用 pagesApi.extract() 方法得到结果。

以下代码片段显示了如何在 Node.js 中使用页面范围和页面模式从 Word 在线提取页面:

// 如何在 Node.js 中使用 REST API 按页面范围提取 Word 文档页面
const extractpages = async () => {

  // 接口初始化
  global.pagesApi = groupdocs_merger_cloud.PagesApi.fromKeys(clientId, clientSecret);

  // 定义提取选项
  let options = new groupdocs_merger_cloud.ExtractOptions();
  options.fileInfo = new groupdocs_merger_cloud.FileInfo();
  options.fileInfo.filePath = "nodejs-testing/input-sample-file.docx"; 
  options.outputPath = "nodejs-testing/output-sample-file.docx"; 
  options.startPageNumber = 1;
  options.endPageNumber = 10;
  options.rangeMode = groupdocs_merger_cloud.ExtractOptions.RangeModeEnum.EvenPages;
  
  try {
    // 创建提取请求
    let extractRequest = new groupdocs_merger_cloud.ExtractRequest(options);
    // 提取Word文件页面
    let result = await pagesApi.extract(extractRequest);
  } 
  catch (err) {
    throw err;
  }
}

extractpages()
.then(() => {
  console.log("Successfully extratcing pages of Word document.");
})
.catch((err) => {
  console.log("Error occurred while extracting pages from Word file.", err);
})

类似地,您可以从 Word 文档中提取奇数页。

在线试用

如何在线从Word文档中提取页面?请尝试使用以下免费在线 Word 提取工具 从 Word 在线免费提取页面。这个 Word 页面提取器免费在线工具是使用上述 API 开发的。

结论

在本文中,您已了解:

  • 如何使用 REST API 从在线 Word 文档中提取某些页面;
  • 如何使用页面范围和范围模式过滤器从 Word 文档中提取页面;
  • 将Word文件上传到云端,从Word在线导出选定的页面;
  • 从云端下载并保存 Word 的某些页面;
  • 如何从Word中免费提取页面;

现在,您知道如何从 Word 文档中提取所有页面或如何保存 Word 的某些页面。 API 还使您能够重新排序或替换文档页面、更改页面方向、管理文档密码以及对任何支持的文件格式轻松执行其他操作。此外,您可以使用 文档 了解有关 GroupDocs.Merge Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。

问一个问题

您可以通过我们的 免费支持论坛 询问有关 word 页面提取器以从 Word 导出选定页面的问题

常见问题

如何将Word中的多页提取到一个文件中?

安装 JS 库 以编程方式在线将 Word 文件分成多个页面。您可以访问文档 了解完整的 API 详细信息。

从 Word 中提取特定页面需要多长时间?

JavaScript HTML to Word 库 运行速度非常快,您可以在几秒钟内轻松地从受保护的 Word 中提取页面。

也可以看看