在 Node.js 中使用 REST API 注释 PDF 文档

作为 Node.js 开发人员,您可以轻松地在云上以编程方式对任何 PDF 文档进行注释。您可以将图像、评论、注释或其他类型的外部注释作为注释添加到文档中。在本文中,您将学习如何在 Node.js 中使用 REST API 对 PDF 文档进行注释。

本文应涵盖以下主题:

文档注释 REST API 和 Node.js SDK

为了注释 PDF 文档,我将使用 GroupDocs.Annotation Cloud 的 Node.js SDK API。它允许您以编程方式在线构建文档注释工具。您可以向支持的文档格式添加注释、水印叠加、文本替换、密文和文本标记。它还提供 .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"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.clientSecret = "b377c36cfa28fa69960ebac6b6e36421"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.myStorage = "";

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

在 Node.js 中使用 REST API 注释 PDF 文档

您可以按照以下简单步骤在云端为您的 PDF 文档添加注释:

  1. 上传PDF文件至云端
  2. 使用 Node.js 注释 PDF 文档
  3. 下载注释文件

上传文件

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

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

// 从本地/光盘打开 IOStream 中的文件。
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 的实例
  • 创建 AnnotationInfo 的第一个实例
  • 为第一个实例设置注释属性,例如位置、类型、文本等。
  • 创建 AnnotationInfo 的第二个实例
  • 为第二个实例设置注释属性,例如位置、类型、文本等。
  • 创建 AnnotationInfo 的第三个实例
  • 为第三个实例设置注释属性,例如位置、类型、文本等。
  • 创建 AnnotationInfo 的第四个实例
  • 为第四个实例设置注释属性,例如位置、类型、文本等。
  • 创建一个 FileInfo 实例并设置输入文件路径
  • 创建 AnnotateOptions 的实例
  • 将 FileInfo 和定义的注释实例分配给 AnnotateOptions
  • 设置输出文件路径
  • 通过使用 AnnotateOptions 调用 AnnotateRequest 方法来创建请求
  • 使用 AnnotateRequest 调用 AnnotateApi.annotate() 方法获取结果

下面的代码示例展示了如何使用 Node.js 中的 REST API 为一个 PDF 文档添加多个注释。

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

// 距离标注
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 100
a1.box.y = 100
a1.box.width = 200
a1.box.height = 100
a1.pageNumber = 0
a1.penColor = 1201033
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 3
a1.opacity = 1
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Distance;
a1.text = "This is 距离标注";
a1.creatorName = "Anonym A.";

// 区域标注
let a2 = new groupdocs_annotation_cloud.AnnotationInfo();
a2.annotationPosition = new groupdocs_annotation_cloud.Point();
a2.annotationPosition.x = 1;
a2.annotationPosition.y = 1;
a2.box = new groupdocs_annotation_cloud.Rectangle();
a2.box.x = 80
a2.box.y = 400
a2.box.width = 200
a2.box.height = 100
a2.penColor = 1201033;
a2.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a2.pageNumber = 0;
a2.penWidth = 3;
a2.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Area;
a2.text = "This is 区域标注";
a2.creatorName = "Anonym A.";

// 文本字段注释
let a3 = new groupdocs_annotation_cloud.AnnotationInfo();
a3.annotationPosition = new groupdocs_annotation_cloud.Point();
a3.annotationPosition.x = 100;
a3.annotationPosition.y = 100;
a3.box = new groupdocs_annotation_cloud.Rectangle();
a3.box.x = 450
a3.box.y = 150
a3.box.width = 100
a3.box.height = 30
a3.pageNumber = 0;
a3.fontColor = 65535;
a3.fontSize = 16;
a3.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.TextField;
a3.text = "Text field text";
a3.creatorName = "Anonym A.";

// 椭圆注释
let a4 = new groupdocs_annotation_cloud.AnnotationInfo();
a4.annotationPosition = new groupdocs_annotation_cloud.Point();
a4.annotationPosition.x = 1;
a4.annotationPosition.y = 1;
a4.box = new groupdocs_annotation_cloud.Rectangle();
a4.box.x = 350;
a4.box.y = 350;
a4.box.width = 200;
a4.box.height = 100;
a4.pageNumber = 0;
a4.penColor = 1201033;
a4.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a4.penWidth = 4;
a4.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Ellipse;
a4.text = "This is 椭圆注释";
a4.creatorName = "Anonym A.";

let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1, a2, a3, a4];
options.outputPath = "Output/output.pdf";

// 创建注释请求
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// 注释
let result = await 注释Api.注释(request);

console.log("Multiple Annotations added: " + result.href);
在 Node.js 中使用 REST API 注释 PDF 文档

在 Node.js 中使用 REST API 注释 PDF 文档

您可以在文档的 adding annotations 部分下阅读有关支持的注释类型的更多信息。

下载注释文件

上面的代码示例会将带注释的 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);

使用 Node.js 添加图像注释

您可以按照以下步骤以编程方式在 PDF 文档中添加图像注释:

  • 创建 AnnotateApi 的实例
  • 创建 AnnotationInfo 的实例
  • 定义一个矩形并设置它的位置、高度和宽度
  • 设置注释属性,例如位置、文本、高度、宽度等。
  • 将注释类型设置为图像
  • 创建一个 FileInfo 实例并设置输入文件路径
  • 创建 AnnotateOptions 的实例
  • 将 FileInfo 和注释分配给 AnnotateOptions
  • 设置输出文件路径
  • 通过使用 AnnotateOptions 调用 AnnotateRequest 方法来创建请求
  • 使用 AnnotateRequest 调用 AnnotateApi.annotate() 方法获取结果

以下代码示例展示了如何使用 Node.js 中的 REST API 在 PDF 文档中添加图像注释。请按照前面提到的步骤上传和下载文件。

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

// 图像标注
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 300;
a1.box.y = 160;
a1.box.width = 200;
a1.box.height = 40;
a1.pageNumber = 0;
a1.penColor = 1201033;
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 1;
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Image;
a1.text = "This is 图像标注";
a1.creatorName = "Anonym A.";
a1.imagePath = "JohnSmith.png";

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

// 定义注释选项
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "Output/output.pdf";

// 创建注释请求
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// 注释
let result = await 注释Api.注释(request);

console.log("Image Annotation added: " + result.href);
使用 Node.js 添加图像注释

使用 Node.js 添加图像注释

在线试用

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

结论

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

也可以看看