在 Node.js 中使用 REST API 从 PDF 中提取或删除注释

注释是文档中提供附加信息的注释、弹出窗口和各种其他图形对象。您可以在云端以编程方式轻松地将各种类型的注释添加到您的文档中。您还可以使用 Node.js 从文档中提取或删除所有注释。在本文中,您将学习如何使用 Node.js 中的 REST API 从 PDF 文档中提取或删除注释。

本文应涵盖以下主题:

文档注释 REST API 和 Node.js SDK

我将使用 GroupDocs.Annotation Cloud 的 Node.js SDK API 从 PDF 文档中提取或删除注释。它允许您在 Node.js 中构建文档注释器工具。此类工具可用于添加、编辑或删除注释、水印叠加、文本替换、密文、便签和所有流行文档格式(如 PDF、Word、Excel、PowerPoint, Outlook 和图像格式)的文本标记。它还提供 .NET、Java、PHP、Ruby 和 Python SDK 作为 Cloud API 的 文档注释系列成员

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

npm install groupdocs-annotation-cloud

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

global.clientId = "659fe7da-715b-4744-a0f7-cf469a392b73";
global.clientSecret = "b377c36cfa28fa69960ebac6b6e36421";
global.myStorage = "";

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

使用 Node.js 中的 REST API 从 PDF 文件中提取或删除注释

您可以按照以下简单步骤从 PDF 文档中提取或删除所有注释:

上传文件

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

// 接口初始化
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// 输入文件
var resourcesFolder = 'C:\\Files\\sample.pdf';

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

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

在 Node.js 中从 PDF 文件中提取注释

您可以按照以下步骤以编程方式从 PDF 文档中提取所有注释:

  • 创建 AnnotateApi 的实例
  • 创建 FileInfo 的实例
  • 设置输入文件路径
  • 通过使用 FileInfo 对象调用 ExtractRequest 方法来创建请求
  • 使用 ExtractRequest 对象调用 AnnotateApi.extract() 方法获取结果

以下代码片段显示了如何使用 Node.js 中的 REST API 从 PDF 文档中提取注释。

// 初始化接口
let annotateApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// 输入文件
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// 创建提取请求
let request = new groupdocs_annotation_cloud.ExtractRequest(fileInfo);

// 提炼
let result = await annotateApi.提炼(request);
// 显示结果
console.log("GetAnnotations: annotations count = " + result.length);
result.forEach(element => console.log("Annotation ID:" + element.id + " Element Text: " + element.text));
在 Node.js 中从 PDF 文件中提取注释

在 Node.js 中从 PDF 文件中提取注释

从 Node.js 中的 PDF 文档中删除注释

您可以按照以下步骤以编程方式从 PDF 文档中删除注释:

  • 创建 AnnotateApi 的实例
  • 创建 FileInfo 的实例
  • 设置输入文件路径
  • 创建 RemoveOptions 的实例
  • 将 FileInfo 设置为 RemoveOptions
  • 提供要删除的注解 ID
  • 设置输出文件路径
  • 通过使用 RemoveOptions 对象调用 RemoveAnnotationsRequest 方法来创建请求
  • 调用AnnotateApi.removeAnnotations()方法获取结果

以下代码示例展示了如何使用 Node.js 中的 REST API 从 PDF 文档中删除注释。如前所述,您可以使用带有 ExtractRequest 的 extract() 方法来获取注释 ID。

// 接口初始化
let annotateApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// 输入文件路径
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// 定义删除选项
let options = new groupdocs_annotation_cloud.RemoveOptions();
options.fileInfo = fileInfo;
options.annotationIds = [0, 1, 2, 3];
options.outputPath = "Output/output.pdf";

// 创建删除注释请求
let request = new groupdocs_annotation_cloud.RemoveAnnotationsRequest(options);

// 删除注释
let result = await annotateApi.removeAnnotations(request);

console.log("DeleteAnnotations: annotations delete: " + result.href);
从 Node.js 中的 PDF 文档中删除注释

从 Node.js 中的 PDF 文档中删除注释

下载输出文件

上面的代码示例将在云端删除注释后保存输出文件。您可以使用以下代码示例下载它:

// 构建FileApi
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// 创建下载文件请求
let request = new groupdocs_annotation_cloud.DownloadFileRequest("Output/output.pdf", myStorage);
let response = await fileApi.downloadFile(request);

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

在线试用

请试用以下使用上述API开发的免费在线PDF注释工具。 https://products.groupdocs.app/annotation/pdf

结论

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

也可以看看