在 Node.js 中使用 REST API 突出显示 PDF 中的文本

在某些情况下,我们可能需要突出显示 PDF 文档中的文本短语、行或区域。它有助于以电子格式突出显示具有半透明颜色的重要文本,就像我们在标准纸上使用标记一样。我们可以使用应用程序中的高亮注释以编程方式使用高亮功能。在本文中,我们将学习如何在 Node.js 中使用 REST API 突出显示 PDF 中的文本。

本文应涵盖以下主题:

PDF 文本荧光笔 REST API 和 Node.js SDK

为了突出显示 PDF 文件中的文本,我们将使用 GroupDocs.Annotation Cloud 的 Node.js SDK API。它允许向 支持的文档格式 添加注释、水印叠加、文本替换、密文和文本标记。请在控制台中使用以下命令安装它:

npm install groupdocs-annotation-cloud

在执行上述步骤之前,请从仪表板获取您的客户端 ID 和密码。获得 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 文件中的文本:

  1. 上传PDF文件到云端
  2. 突出显示文本 在上传的 PDF 中
  3. 下载注释文件

上传文件

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

// 此代码示例演示如何将 PDF 文件上传到云端。
// 初始化 api 实例
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// 从本地/光盘打开 IOStream 中的文件。
var resourcesFolder = 'C:\\Files\\Annotation\\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 对象并设置其背景颜色和类型。
  • 接下来,提供输入文件路径。
  • 然后,初始化 AnnotateOptions 对象并设置输出文件路径。
  • 之后,使用 AnnotateOptions 作为参数创建 AnnotateRequest。
  • 最后,使用 AnnotateApi.annotate() 方法突出显示 PDF 中的文本。

以下代码示例展示了如何使用 Node.js 中的 REST API 突出显示 PDF 文档中的文本。

// 此代码示例演示如何向 PDF 文件添加高亮注释。
// 初始化 api 实例
let annotateApi = groupdocs_annotation_cloud.注释Api.fromKeys(clientId, clientSecret);

// 定义注解
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();

// 第 1 点
let p1 = new groupdocs_annotation_cloud.Point();
p1.x = 30;
p1.y = 710;

// 第 2 点
let p2 = new groupdocs_annotation_cloud.Point();
p2.x = 460;
p2.y = 710;

// 第 3 点
let p3 = new groupdocs_annotation_cloud.Point();
p3.x = 30;
p3.y = 690;

// 第 4 点
let p4 = new groupdocs_annotation_cloud.Point();
p4.x = 460;
p4.y = 690;

// 加分
a1.points = [p1, p2, p3, p4];

// 背景颜色
a1.backgroundColor = 3329434;

// 类型
a1.type = groupdocs_annotation_cloud.AnnotationInfo.类型Enum.TextHighlight;

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

// 定义注释选项
let options = new groupdocs_annotation_cloud.注释Options();
options.fileInfo = fileInfo;

// 分配注释
options.annotations = [a1];

// 输出文件路径
options.outputPath = "output.pdf";

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

// 注释
let result = await annotateApi.annotate(request);

// 完毕
console.log("AddAreaAnnotation: Area Annotation added: " + result.href);
使用 Node.js 突出显示 PDF 文档中的文本

使用 Node.js 突出显示 PDF 文档中的文本

您可以从以下链接获取所需的颜色值以用作背景色。 https://docs.microsoft.com/en-us/office/vba/api/excel.xlrgbcolor

下载注释文件

上面的代码示例会将带注释的 PDF 文件保存在云端。可以使用以下代码示例下载它:

// 此代码示例演示如何从云端下载 PDF 文件。
// 构造FileApi
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

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

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

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

在线试用

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

结论

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

  • 使用 Node.js 向 PDF 添加高亮注释;
  • 以编程方式将 PDF 文件上传到云端;
  • 从云端下载带注释的 PDF 文件。

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

也可以看看