在 Python 中使用 REST API 从 PDF 中删除注释。

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

# 此代码示例演示如何将 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 中删除注释。

在 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 文档中提取注释。

在 Python 中从 PDF 文档中提取注释。

在线试用

请试用以下使用上述API开发的免费在线PDF注释工具。 https://products.groupdocs.app/annotation/pdf

结论

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

也可以看看