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

也可以看看