
注释以注释、弹出窗口和各种其他图形对象的形式在文档中提供附加信息。在某些情况下,我们可能需要从带注释的 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'])

在 Python 中从 PDF 中删除注释。
下载输出文件
上面的代码示例将在从云上的 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 格式返回所有注释的数组,如下所示:

在 Python 中从 PDF 文档中提取注释。
在线试用
请试用以下使用上述API开发的免费在线PDF注释工具。 https://products.groupdocs.app/annotation/pdf
结论
在本文中,我们学习了如何从云端 PDF 文档中删除注释。我们还了解了如何使用 Python 从 PDF 文档中提取注释。本文还介绍了如何以编程方式将 PDF 文件上传到云端以及从云端下载文件。此外,您可以使用 文档 了解有关 GroupDocs.Annotation Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。