在 Node.js 中将 PowerPoint PPT 或 PPTX 拆分为多个文件

在 Node.js 中将 PowerPoint PPT 或 PPTX 拆分为多个文件

PowerPoint 是由 Microsoft PowerPoint 创建的演示文稿文件,用于创建幻灯片演示文稿。 PPTPPTX幻灯片存储幻灯片、形状、图片、音频、视频、文本等记录和结构的集合。在各种场景中,您可能需要将冗长的PowerPoint演示文稿拆分为多个文件按幻灯片范围或将所有 PowerPoint 幻灯片分成多个 PPT/PPTX 文件。如果您手动将大型 PowerPoint 文件拆分成单独的文件,这将是一项耗时的工作。因此,本文介绍了如何使用 Node.js 将 PowerPoint PPT 或 PPTX 拆分为单独的文件。

本文讨论以下问题:

PowerPoint Splitter REST API 和 Node.js SDK

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

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

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 将 PowerPoint 幻灯片拆分为单独的文件

您可以按照以下简单步骤在云端以编程方式在线拆分 PPTX 文件:

  • 上传 PowerPoint文件至云端
  • 拆分 在 Node.js 中使用 REST API 的 PowerPoint 文件
  • 下载分离文件

上传 PowerPoint 文件

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

// 从系统驱动器打开 IOStream 中的文件。
var resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-file.pptx';
// 读取文件
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 构造FileApi
  var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
  // 创建上传文件请求
  var request = new groupdocs_conversion_cloud.UploadFileRequest("sample-file.pptx", 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);
    });
});

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

在 Node.js 中在线拆分 PowerPoint PPTX 文件

您可以按照以下给出的步骤以编程方式将 PowerPoint PPTX 幻灯片放入由一页组成的单独文件中:

  • 首先,创建 DocumentApi 的实例。
  • 其次,创建 FileInfo 的实例。
  • 然后,设置输入 PPTX 文件的路径。
  • 创建 SplitOptions 的实例。
  • 然后,将 FileInfo 分配给拆分选项。
  • 在以逗号分隔的数组中设置特定页码以拆分 PPTX。
  • 另外,将幻灯片和拆分模式设置为页面。它允许 API 将以逗号分隔的数组中给出的页码拆分为单独的 PPTX 文件。
  • 使用 Split Options 参数创建 SplitRequest
  • 最后,用 SplitRequest 调用 DocumentAPI.split() 方法并得到结果。

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

// 如何使用 Node.js 将 PowerPoint 幻灯片拆分为单独的文件

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.pptx";  
  options.outputPath = "nodejs-testing/split-file.pptx";
  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 pptx file online: ");
})
.catch((err) => {
  console.log("Error occurred while splitting the powerpoint file:", err);
})

下载拆分文件

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

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

使用 Node.js 将 PowerPoint PPTX 拆分为多页文件

您可以按照以下步骤以编程方式将 PowerPoint 演示文稿拆分为多个文件:

  • 首先,创建 DocumentApi 的实例。
  • 其次,创建 FileInfo 类的实例
  • 然后,设置输入 PowerPoint 文件的路径。
  • 创建 SplitOptions 的实例。
  • 然后,将 FileInfo 分配给拆分选项。
  • 设置以逗号分隔的数组中要拆分的页码间隔。
  • 此外,将幻灯片拆分模式设置为间隔。它允许 API 根据逗号分隔数组中给定的页面间隔拆分 PowerPoint 幻灯片。
  • 接下来,使用 SplitOptions 创建 SplitRequest。
  • 最后,用 SplitRequest 调用 DocumentAPI.split() 方法并得到结果。

以下代码片段展示了如何使用 REST API 在 Node.js 中将特定的 PowerPoint 幻灯片拆分为单独的文件:

// 如何使用 Node.js 将 PowerPoint PPTX 拆分为多页文件
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.pptx";

  // 定义拆分选项
  let options = new groupdocs_merger_cloud.SplitOptions();
  options.fileInfo = fileInfo;
  options.outputPath = "nodejs-testing/split-file.pptx";
  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 PPT online: ");
})
.catch((err) => {
  console.log("Error occurred while splitting PowerPoint slides:", err);
})

使用 Node.js API 按页面范围在线拆分 PPT 幻灯片

在本节中,您可以使用以下步骤以编程方式提供一系列页码,从而从 PowerPoint 文件中提取幻灯片:

  • 首先,创建 DocumentApi 的实例。
  • 其次,创建 FileInfo 的实例。
  • 然后,设置输入 PowerPoint 文件的路径。
  • 创建 SplitOptions 的实例。
  • 然后,将 FileInfo 分配给拆分选项。
  • 设置起始页码和结束页码。
  • 此外,将 PowerPoint 拆分模式设置为页面。
  • 使用拆分选项创建拆分请求。
  • 最后,用 SplitRequest 调用 DocumentAPI.split() 方法并得到结果。

以下代码片段显示了如何使用 Node.js 中的幻灯片编号范围将在线 ppt 拆分为单独的文件:

// 如何使用 Node.js API 按页面范围在线拆分 PPT 幻灯片
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.pptx";

  // 定义拆分选项
  let options = new groupdocs_merger_cloud.SplitOptions();
  options.fileInfo = fileInfo;
  options.outputPath = "nodejs-testing/split-file.pptx";
  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 split specific pages of PowerPoint presentation: ");
})
.catch((err) => {
  console.log("Error occurred while splitting PPTX file online:", err);
})

拆分PPT幻灯片在线免费

如何免费在线拆分PPT文件?请尝试以下使用上述 API 开发的免费在线 PowerPoint 拆分器工具

结论

总而言之,这篇博文展示了:

  • 如何在 Nodejs 中拆分 PowerPoint PPTX 或 PPT 演示文稿;
  • 以编程方式从云端上传和下载分离的幻灯片;
  • Nodejs 将特定的 PowerPoint PPT 或 PPTX 幻灯片拆分为多个文件;
  • 如何在Nodejs中在线将ppt幻灯片拆分成单独的文件;

此外,Nodejs API 允许您重新排序或替换 PowerPoint 页面、更改页面方向、管理文档密码以及针对各种支持的文件格式轻松执行其他操作。此外,您可以按照文档了解有关GroupDocs.Merge Cloud API的更多信息。我们还提供了一个 API 参考部分,您可以在其中直接通过浏览器查看我们的 API 并与之交互。

您可以在 入门页面 上找到更多详细信息。

此外,Groupdocs.cloud 会不断更新新主题。因此,请及时了解最新的 API 信息。

问一个问题

您可以通过我们的 免费支持论坛 在线询问有关 PowerPoint PPT Splitter 的问题

常见问题

如何在 Node.js 中将 PowerPoint 拆分为多个文件?

请按照此链接 学习代码片段,了解如何方便地使用 node.js 将 PowerPoint 幻灯片拆分为单独的文件。

如何使用 REST API 在 Node.js 中在线拆分 PowerPoint 演示文稿?

创建一个ConvertApi,的实例,设置convert settings的值,并调用convertDocument方法和ConvertDocumentRequest来拆分PPTX并分别保存每张幻灯片 PowerPoint。

如何在 PowerPoint 在线免费拆分幻灯片?

在线 PPT 拆分器 免费让您快速轻松地将 PPT 在线拆分成多个文件。拆分过程完成后,您可以下载拆分的 PowerPoint 幻灯片。

如何在 Windows 中将 PowerPoint 演示文稿拆分为两个独立的演示文稿?

请访问 此链接 下载 Windows 中的 PPT 拆分器。这款PPT拆分工具用于在windows中快速拆分PPT演示文稿,一键完成。

也可以看看