比较 Node.js 中的 PowerPoint 演示文稿

在 Node.js 中比较 PPTX 文件

我们可以比较两个或多个 PowerPoint 演示文稿文件,并在云端以编程方式突出显示差异。它有助于以编程方式识别演示文稿的不同版本中的更改。在本文中,我们将学习如何在 Node.js 中使用 REST API 比较两个或多个 PowerPoint 演示文稿。

这篇比较 powerpoint 文件的文章应涵盖以下主题:

REST API 和 Node.js SDK 比较 PPTX 文件

为了比较两个或多个 PPTX 文件,我们将使用 GroupDocs.Comparison Cloud 的 Node.js SDK API。它允许比较 支持的格式 的 2 个 powerpoint 文件,并在结果文件中找到差异。请在控制台中使用以下命令安装它:

npm install groupdocs-comparison-cloud

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

// 此代码示例演示如何在代码中添加 Client ID 和 Secret。
global.ClientId = "659fe7da-715b-4744-a0f7-cf469a392b73";
global.ClientSecret = "b377c36cfa28fa69960ebac6b6e36421";
global.myStorage = "";

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

下面我们就来学习一下ppt文件的对比,比较两个ppt文件的差异。

在 Node.js 中使用 REST API 比较两个 PowerPoint 演示文稿

我们可以按照下面给出的简单步骤比较云端的两个 PowerPoint 文件:

  1. 上传 PPTX文件到云端。
  2. 比较上传的 PPTX 文件
  3. 下载 生成的文件。

上传 PowerPoint 文件

首先,我们将使用以下代码示例将源和目标 PPTX 文件上传到云端:

// 此代码示例演示如何将多个文件上传到云端。
// 构造FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
let resourcesFolder = 'C:\\Files\\comparison\\upload\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // 读取文件
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // 上传文件请求
      let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
      // 上传文件
      fileApi.uploadFile(request);
    });
  });
});

因此,上传的 PowerPoint 文件将在仪表板的 文件部分 中可用,以比较云上的 powerpoint 文档。

在 Node.js 中比较 PowerPoint 文件

现在,我们将按照以下步骤以编程方式比较上传的 PowerPoint 文件的 ppt:

  • 首先,创建 CompareApi 的实例。
  • 接下来,设置输入源和目标 PPTX 文件路径。
  • 然后,初始化 ComparisonOptions 对象并分配源文件和目标文件。
  • 接下来,设置输出文件路径。
  • 之后,创建带有 ComparisonOptions 作为参数的 ComparisonsRequest。
  • 最后,使用 comparisons() 方法比较 powerpoint 幻灯片并获得结果。

以下代码示例展示了如何在 Node.js 中使用 REST API 比较两个 PowerPoint 文件。

// 此代码示例演示如何比较两个 PPTX 文件
// 初始化接口
let compareApi = groupdocs_comparison_cloud.比较Api.fromKeys(clientId, clientSecret);

// 源文件
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.pptx";

// 目标文件
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pptx";

// 定义比较设置
let settings = new groupdocs_comparison_cloud.Settings();

// 比较灵敏度
settings.sensitivityOfComparison = 100;

// 定义比较选项
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "result.pptx";
options.settings = settings;

// 创建比较请求
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// 比较
let response = await compareApi.comparisons(request);
console.log("Output file link: " + response.href);
源和目标 PowerPoint 演示文稿文件 |用于比较的 Powerpoint 模板

源和目标 PowerPoint 演示文稿文件。

在 Node.js 中比较 PowerPoint 文件 |幻灯片中的比较

在 Node.js 中比较 PowerPoint 文件

生成的 PPTX 文件还包含文档末尾的摘要幻灯片,如下所示:

比较演示文稿 powerpoint 和更改比较摘要。

下载结果文件

因此,上述代码示例将在云端保存一个新创建的包含更改的 PowerPoint 文件。可以使用以下代码示例下载它:

// 此代码示例演示如何从云端下载 PPTX 文件。
// 构造FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);

// 创建下载文件请求
let request = new groupdocs_comparison_cloud.DownloadFileRequest("result.pptx", myStorage);

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

// 保存在工作目录
fs.writeFile("C:\\Files\\comparison\\result.pptx", response, "binary", function (err) { });

使用 Node.js 比较多个 PowerPoint 文件

我们还可以按照以下步骤比较多个 PowerPoint 文档:

  • 首先,创建 CompareApi 的实例。
  • 接下来,设置输入源 PPTX 文件路径。
  • 然后,设置多个目标 PPTX 文件路径。
  • 接下来,初始化 ComparisonOptions 对象并分配源文件和目标文件。
  • 然后,设置输出文件路径。
  • 之后,创建带有 ComparisonOptions 作为参数的 ComparisonsRequest。
  • 最后,使用 comparisons() 方法比较文件并获得结果。

以下代码示例展示了如何在 Node.js 中使用 REST API 比较多个 PowerPoint 文件。

// 此代码示例演示如何比较多个 PPTX 文件
// 初始化接口
let compareApi = groupdocs_comparison_cloud.比较Api.fromKeys(clientId, clientSecret);

// 源文件
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.pptx";

// 目标文件 1
let target1 = new groupdocs_comparison_cloud.FileInfo();
target1.filePath = "target.pptx";

// 目标文件 2
let target2 = new groupdocs_comparison_cloud.FileInfo();
target2.filePath = "target2.pptx";

// 定义比较选项
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target1, target2];
options.outputPath = "result_Multiple.pptx";

// 创建比较请求
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);

// 比较
let response = await compareApi.comparisons(request);
console.log("Output file link: " + response.href);

在 Node.js 中使用 REST API 获取更改列表

我们可以按照以下给出的步骤获取在比较 PowerPoint 文件期间发现的所有更改的列表:

  • 首先,创建 CompareApi 的实例。
  • 接下来,设置输入源 PPTX 文件路径。
  • 然后,设置目标 PPTX 文件路径。
  • 接下来,初始化 ComparisonOptions 对象。
  • 然后,分配源/目标文件并设置输出文件路径。
  • 之后,使用 ComparisonOptions 对象作为参数创建 PostChangesRequest。
  • 最后调用postChanges()方法获取结果。

以下代码示例展示了如何在 Node.js 中使用 REST API 获取更改列表。

// 此代码示例演示如何获取所有更改的列表。
// 初始化接口
let compareApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);

// 源文件
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.pptx";

// 目标文件
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.pptx";

// 定义比较选项
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "result.pptx";

// 创建比较请求
let request = new groupdocs_comparison_cloud.PostChangesRequest(options);
let changes = await compareApi.postChanges(request);

// 显示结果
console.log("Changes count: " + changes.length);

changes.forEach(change => {
  console.log(change.id + 1 +"- Target Text: " + change.targetText + ", Text: " + change.text + ", Type: " + change.type);
});
Changes count: 4
1- Target Text: Document Comparison, Text: Shape, Type: Inserted
2- Target Text: undefined, Text: Shape, Type: Deleted
3- Target Text: Document Comparison REST API & Node.js SDK, Text: Node.js , Type: Deleted
4- Target Text: Document Comparison REST API & Node.js SDK, Text: Node.js , Type: Inserted

在线试用

如何免费在线比较两个ppt文件?请尝试使用以下免费的在线 PPTX 比较工具进行 powerpoint 演示文稿比较。这个在线比较ppt的比较powerpoint模板免费软件是使用上述API开发的。 https://products.groupdocs.app/comparison/pptx

结论

在本文中,我们学习了如何:

  • 在 Node.js 中比较两个或多个 PowerPoint 文件;
  • 获取插入和删除项目的列表;
  • 以编程方式将多个 PPTX 文件上传到云端;
  • 从云端下载 PPTX 文件。

此外,您可以使用 文档 了解有关 GroupDocs.Comparison Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看