在某些情况下,我们可能需要突出显示 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 文件中的文本:
上传文件
首先,我们将使用下面给出的代码示例将 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);
您可以从以下链接获取所需的颜色值以用作背景色。 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 并与之交互。如有任何歧义,请随时在论坛上与我们联系。