在 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 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看