如何使用 Node.js 将 Word 文档拆分为单独的文件

如何使用 Node.js 将 Word 文档拆分为单独的文件

您可能需要将 Word 文档拆分成几个较小的文件并将它们分配给不同的人以加快该过程。通过拆分 Word 文档,您可以轻松提取特定信息或数据集并与利益相关者共享。作为 Node.js 开发者,您可以在云端将 word 文档拆分为多个文档。本文不是手动剪切和粘贴,而是向您展示如何使用 Node.js 将 Word 文档拆分为单独的文件。

本文将涵盖以下主题:

Word DOC 拆分器 REST API 和 Node.js SDK

要拆分 Word 文件,我将使用 GroupDocs.Merger Cloud 的 Node.js SDK API。它允许您从 WordExcelPowerPoint支持的文档格式 中拆分、合并、删除和重新排列单个页面或一组页面, Visio 绘图PDFHTML

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

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";

在 Node.js 中使用 REST API 将 Word 文档拆分为一页文档

您可以按照下面提到的简单步骤以编程方式在云上拆分 word 文件:

上传Word文件

首先,您需要使用以下示例代码将 Word 文件上传到云端:

// 从系统驱动器打开 IOStream 中的文件。
var resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-file.docx';
// 读取文件
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 构造FileApi
  var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
  // 创建上传文件请求
  var request = new groupdocs_conversion_cloud.UploadFileRequest("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 文件的页面拆分为单独的 Word 文档,这些文档由文档中的页面组成。

  • 创建 DocumentApi 的实例。
  • 创建 FileInfo 的实例。
  • 然后,设置输入字文件的路径。
  • 创建 SplitOptions 的实例。
  • 然后,将文件信息分配给拆分选项。
  • 在以逗号分隔的数组中设置特定页码以拆分文档。
  • 另外,将文档拆分模式设置为页面。它允许 API 将以逗号分隔的数组中给出的页码拆分为单独的 Word 文档。
  • 使用拆分选项创建拆分请求。
  • 最后,用 SplitRequest 调用 DocumentAPI.split() 方法并得到结果。

以下代码片段显示了如何在 Node.js 中使用 REST API 拆分 word 文件:

// 如何在 Node.js 中使用 REST API 将 Word 文档拆分为单页文档
const split = async () => {

  let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);
   
  let options = new groupdocs_merger_cloud.SplitOptions();
  options.fileInfo = new groupdocs_merger_cloud.FileInfo();
  options.fileInfo.filePath = "nodejs-testing/sample-file.docx";  
  options.outputPath = "nodejs-testing/split-file.docx";
  options.pages = [1, 3];
  options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Pages;

  try {
    // 创建拆分文档请求
    let splitRequest = new groupdocs_merger_cloud.SplitRequest(options)
    let result = await documentApi.split(splitRequest);
  } 
  catch (err) {
    throw err;
  }
}

split()
.then(() => {
  console.log("Successfully split word docx: ");
})
.catch((err) => {
  console.log("Error occurred while splitting the word file:", err);
})

下载拆分文件

上述代码示例将分割后的文件保存到云端。现在,您可以使用以下代码示例下载文件:

// 构造FileApi下载合并后的文件
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(config);
// 创建下载文件请求
let request = new groupdocs_merger_cloud.DownloadFileRequest("nodejs-testing/split-file.docx", myStorage);
// 下载文件和响应类型 Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // 将文件保存在系统目录中
        fs.writeFile("H:\\groupdocs-cloud-data\\split-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 将 Word 文件拆分为多页 Word 文档

您可以按照以下步骤以编程方式将 word 文件拆分为多页 word 文档:

  • 创建 DocumentApi 的实例。
  • 创建 FileInfo 的实例。
  • 然后,设置输入字文件的路径。
  • 创建 SplitOptions 的实例。
  • 然后,将文件信息分配给拆分选项。
  • 设置以逗号分隔的数组中要拆分的页码间隔。
  • 此外,将文档拆分模式设置为间隔。它允许 API 根据以逗号分隔的数组中给定的页面间隔拆分文档页面。
  • 使用拆分选项创建拆分请求。
  • 最后用Split Request调用DocumentAPI.split()方法得到结果。

以下代码片段显示了如何使用 Node.js 中的 REST API 将一个 word 文件拆分为多页 word 文档:

// 如何使用 Node.js 将 Word 文件拆分为多页 Word 文档
const splitspecific = async () => {

  // 接口初始化
  let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

  // 提供输入文件路径
  let fileInfo = new groupdocs_merger_cloud.FileInfo();
  fileInfo.filePath = "nodejs-testing/sample-file.docx";

  // 定义拆分选项
  let options = new groupdocs_merger_cloud.SplitOptions();
  options.fileInfo = fileInfo;
  options.outputPath = "nodejs-testing/split-file.docx";
  options.pages = [3, 6, 8];
  options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Intervals;

  try {
    // 创建拆分请求
    let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);
    // 拆分文档
    let result = await documentApi.split(splitRequest);
  } 
  catch (err) {
    throw err;
  }
}

splitspecific()
.then(() => {
  console.log("Successfully specific pages of word file: ");
})
.catch((err) => {
  console.log("Error occurred while splitting the word doc:", err);
})

在 Node.js 中使用 REST API 按页面范围分隔页面

接下来,按照以下步骤以编程方式提供一系列页码,从 Word 文件中提取并保存页面:

  • 创建 DocumentApi 的实例。
  • 创建 FileInfo 的实例。
  • 然后,设置输入字文件的路径。
  • 创建 SplitOptions 的实例。
  • 然后,将文件信息分配给拆分选项。
  • 设置起始页码和结束页码。
  • 另外,将文档拆分模式设置为页面。
  • 使用拆分选项创建拆分请求。
  • 最后用Split Request调用DocumentAPI.split()方法得到结果。

以下代码片段显示了如何使用 Node.js 中的 REST API 按页码范围拆分 word 文件:

// 如何在 Node.js 中使用 REST API 按页面范围分隔页面
const splitpages = async () => {

  // 接口初始化
  let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

  // 提供输入文件路径
  let fileInfo = new groupdocs_merger_cloud.FileInfo();
  fileInfo.filePath = "nodejs-testing/sample-file.docx";

  // 定义拆分选项
  let options = new groupdocs_merger_cloud.SplitOptions();
  options.fileInfo = fileInfo;
  options.outputPath = "nodejs-testing/split-file.docx";
  options.startPageNumber = 3;
  options.endPageNumber = 7;
  options.mode = groupdocs_merger_cloud.SplitOptions.ModeEnum.Pages;

  try {
    // 创建拆分请求
    let splitRequest = new groupdocs_merger_cloud.SplitRequest(options);
    // 拆分文档
    let result = await documentApi.split(splitRequest);
  } 
  catch (err) {
    throw err;
  }
}

splitpages()
.then(() => {
  console.log("Successfully specific pages of word file: ");
})
.catch((err) => {
  console.log("Error occurred while splitting the word doc:", err);
})

在线试用

请尝试以下使用上述 API 开发的免费在线分词器工具

结论

在本文中,我们了解到:

  • 如何在云端使用 REST API 拆分 word 文档;
  • 如何以编程方式将word文件拆分为多页word文档;
  • 以编程方式将word文件上传到云端,然后从云端下载分离的文件;

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

此外,我们建议您阅读我们的入门指南

Groupdocs.cloud 将继续撰写有关新主题的文章。因此,请联系以获取最新更新。

问一个问题

您可以通过我们的免费支持论坛 询问有关如何拆分 word 文档的问题

常见问题

如何在 Node.js 中分隔 Word 文档中的页面?

请按照 Node.js 代码片段 学习如何快速轻松地将一个 word 文档拆分为多个文件。您可以访问文档 了解完整的 API 详细信息。

也可以看看

有关我们建议您访问以下文章的更多信息: