註釋以註釋、彈出窗口和各種其他圖形對象的形式在文檔中提供附加信息。在某些情況下,我們可能需要從帶註釋的 PDF 文檔中刪除註釋。在本文中,我們將學習如何使用 Python 中的 REST API 從 PDF 文檔中刪除或提取註釋。
本文應涵蓋以下主題:
用於刪除註釋的 REST API 和 Python SDK
為了從 PDF 文檔中提取或刪除註釋,我們將使用 GroupDocs.Annotation Cloud 的 Python SDK API。它允許向 支持的文檔格式 添加註釋、水印疊加、文本替換和標記以及便簽。請在控制台中使用以下命令安裝它:
pip install groupdocs_annotation_cloud
在執行上述步驟之前,請從儀表板獲取您的客戶端 ID 和密碼。獲得 ID 和密碼後,添加如下所示的代碼:
# 此代碼示例演示如何添加 ClientID 和 Secret
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"
configuration = groupdocs_annotation_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
在 Python 中使用 REST API 從 PDF 文件中刪除註釋
我們可以按照下面提到的簡單步驟刪除 PDF 文件中的所有註釋:
- 上傳PDF文件至雲端
- 在 Python 中從 PDF 中刪除註釋
- 下載更新文件
上傳文件
首先,我們將使用下面給出的代碼示例將 PDF 文件上傳到雲端:
# 此代碼示例演示如何將 PDF 文件上傳到雲端。
# 創建 API 實例
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
# 上傳示例文件
request = groupdocs_annotation_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)
因此,上傳的文件將在雲端儀表板的 文件部分 中可用。
在 Python 中從 PDF 中刪除註釋
現在,我們將按照以下步驟以編程方式從 PDF 文檔中刪除註釋:
- 首先,創建一個 AnnotateApi 實例。
- 接下來,創建 FileInfo 的一個實例。
- 然後,設置輸入的 PDF 文件路徑。
- 接下來,創建 RemoveOptions 的一個實例。
- 然後,將 FileInfo 分配給 RemoveOptions。
- 接下來,在逗號分隔的數組中提供要刪除的註釋 ID。
- 然後,設置輸出文件路徑。
- 之後,通過使用 RemoveOptions 對象調用 RemoveAnnotationsRequest 方法來創建請求。
- 最後,通過以 RemoveAnnotationsRequest 作為參數調用 AnnotateApi.remove\annotations() 方法來獲取結果。
以下代碼示例顯示瞭如何使用 Python 中的 REST API 從 PDF 文檔中刪除註釋。我們只需要提及要從文檔中刪除的註釋 ID。我們可以使用帶有 ExtractRequest 的 extract() 方法獲取註解 ID,如 此處 所述。
# 此代碼示例演示如何從 PDF 中刪除註釋。
# 接口實例
api = groupdocs_annotation_cloud.AnnotateApi(configuration)
# 輸入文件詳細信息
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"
# 刪除選項
options = groupdocs_annotation_cloud.RemoveOptions()
options.file_info = file_info
options.annotation_ids = [0,1,2]
# 輸出文件
options.output_path = "annotations_removed.pdf"
# 刪除請求
request = groupdocs_annotation_cloud.RemoveAnnotationsRequest(options)
result = api.remove_annotations(request)
print("RemoveAnnotations: Annotations removed: " + result['href'])
下載輸出文件
上面的代碼示例將在從雲上的 PDF 文件中刪除註釋後保存輸出文件。可以使用以下代碼示例下載它:
# 此代碼示例演示如何從雲端下載 PDF 文件。
# API初始化
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
# 創建下載文件請求
request = groupdocs_annotation_cloud.DownloadFileRequest("annotations_removed.pdf", my_storage)
# 下載文件
response = file_api.download_file(request)
# 將下載的文件移動到您的工作目錄
shutil.move(response, "C:\\Files\\")
在 Python 中從 PDF 文檔中提取註釋
我們可以按照以下步驟以編程方式從 PDF 文檔中提取註釋:
- 首先,創建一個 AnnotateApi 實例。
- 接下來,創建 FileInfo 的一個實例。
- 然後,設置輸入文件路徑。
- 之後,通過使用 FileInfo 對象調用 ExtractRequest 方法來創建請求。
- 最後,通過以 ExtractRequest 作為參數調用 AnnotateApi.extract() 方法來獲取結果。
以下代碼示例顯示瞭如何使用 Python 中的 REST API 從 PDF 文檔中提取註釋。
# 此代碼示例演示如何從 PDF 文件中提取註釋。
# 接口實例
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)
# 輸入文件詳細信息
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"
# 提取註解請求
request = groupdocs_annotation_cloud.ExtractRequest(file_info)
result = api.extract(request)
print("ExtractAnnotations: annotations count: " + str(len(result)))
# 顯示結果
for x in range(len(result)):
print(result[x]);
上面的代碼示例將以 JSON 格式返回所有註釋的數組,如下所示:
在線試用
請試用以下使用上述API開發的免費在線PDF註釋工具。 https://products.groupdocs.app/annotation/pdf
結論
在本文中,我們學習瞭如何從雲端 PDF 文檔中刪除註釋。我們還了解瞭如何使用 Python 從 PDF 文檔中提取註釋。本文還介紹瞭如何以編程方式將 PDF 文件上傳到雲端以及從雲端下載文件。此外,您可以使用 文檔 了解有關 GroupDocs.Annotation Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。