从 PDF 文档中提取图像

您可能需要从 PDF 或 Word 文档中提取图像以重新使用它们。您可以在云端以编程方式轻松地从 PDF 文档中提取图像。本文将解释如何在 Python 中使用 REST API 从 PDF 文档中提取图像。

本文应涵盖以下主题:

文档解析器 REST API 和 Python SDK

为了从 PDF 文档中提取图像,我将使用 GroupDocs.Parser Cloud 的 Python SDK API。它允许您解析来自所有流行文档类型的数据。您可以使用 SDK 通过模板提取文本、图像和解析数据。它还为云 API 提供 .NET、Java、PHP、Ruby 和 Node.js SDK 作为其文档解析器家族成员

您可以使用 pip(python 包安装程序)在控制台中使用以下命令将 GroupDocs.Parser Cloud 安装到您的 Python 项目:

pip install groupdocs_parser_cloud

在开始执行步骤和可用代码示例之前,请从 dashboard 获取您的 Client ID 和 Client Secret。获得客户端 ID 和密码后,添加如下所示的代码:

client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"

configuration = groupdocs_parser_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

在 Python 中使用 REST API 从 PDF 中提取图像

您可以按照以下简单步骤从 PDF 文档中提取图像:

上传文件

首先,使用下面给出的代码示例将 PDF 文档上传到云端:

# 接口初始化
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)
my_storage = ""

request = groupdocs_parser_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)

因此,上传的 PDF 文件 (sample.pdf) 将在云端仪表板的 文件部分 中可用。

使用 Python 从 PDF 文档中提取所有图像

您可以按照下面提到的步骤以编程方式轻松地从 PDF 文件中提取所有图像。

  • 创建 ParseApi 的实例
  • 定义图像选项
  • 设置 PDF 文件的路径
  • 创建图像请求
  • 通过调用 ParseApi.images() 方法获取结果

以下代码示例展示了如何使用 REST API 从 PDF 文档中提取所有图像。

# 接口初始化
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# 定义图像选项
options = groupdocs_parser_cloud.ImagesOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "sample.pdf"

# 创建请求
request = groupdocs_parser_cloud.ImagesRequest(options)
result = parseApi.images(request)

for image in result.images:
    print("Image path in storage: " + image.path + ". Download url: " + image.download_url)
    print("Image format: " + image.file_format + ". Page index: " + str(image.page_index))
从 PDF 文档中提取所有图像。

从 PDF 文档中提取所有图像。

下载提取的图像

上面的代码示例会将提取的图像保存在云端。您可以使用下面给出的代码示例下载这些图像:

# 接口初始化
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)
my_storage = ""
  
# 下载图片 
request = groupdocs_parser_cloud.DownloadFileRequest(image.path, my_storage)
response = file_api.download_file(request)

# 将下载的文件移动到您的工作目录
shutil.move(response, "C:\\Files\\Images")

使用 Python 按页码从 PDF 文档保存图像

您可以按照下面提到的步骤以编程方式轻松地从 PDF 文件的特定页面中提取图像。

  • 创建 ParseApi 的实例
  • 定义图像选项
  • 提供 PDF 文件的路径
  • 设置起始页码
  • 设置要提取的页数
  • 创建图像请求
  • 通过调用 ParseApi.images() 方法获取结果

以下代码示例显示了如何使用 REST API 按页码范围从 PDF 文档中提取图像。请按照前面提到的步骤下载提取的图像。

# 接口初始化
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# 定义图像选项
options = groupdocs_parser_cloud.ImagesOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "sample.pdf"
# 定义页面范围
options.start_page_number = 1
options.count_pages_to_extract = 1

# 创建请求
request = groupdocs_parser_cloud.ImagesRequest(options)
result = parseApi.images(request)

for page in result.pages:
    print("Images from " + str(page.page_index) + " page.")
   for image in page.images:
        print("Image path in storage: " + image.path + ". Download url: " + image.download_url)
        print("Image format: " + image.file_format + ". Page index: " + str(image.page_index))
从 PDF 文档中按页码范围提取图像。

从 PDF 文档中按页码范围提取图像。

使用 Python 从 PDF 附件中获取图像

您可以从容器内的文档中提取图像,按照下面提到的步骤以编程方式作为 PDF 文件中的附件提供。

  • 创建 ParseApi 的实例
  • 定义图像选项
  • 设置 PDF 文件的路径
  • 定义 ContainerItemInfo
  • 提供里面文档的相对路径
  • 设置起始页码
  • 设置要提取的页数
  • 创建图像请求
  • 通过调用 ParseApi.images() 方法获取结果

以下代码示例展示了如何使用 REST API 从 PDF 文档中的文档中提取图像。请按照前面提到的步骤下载提取的图像。

# 接口初始化
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# 定义图像选项
options = groupdocs_parser_cloud.ImagesOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "PDF_with_attachements.pdf"
options.file_info.password = "password"
# 设置容器项目
container_info = groupdocs_parser_cloud.ContainerItemInfo()
container_info.relative_path = "template-document.pdf"
options.container_item_info = container_info
# 定义页面范围
options.start_page_number = 2
options.count_pages_to_extract = 1

# 创建请求
request = groupdocs_parser_cloud.ImagesRequest(options)
result = parseApi.images(request)

for page in result.pages:
    print("Images from " + str(page.page_index) + " page.")
   for image in page.images:
        print("Image path in storage: " + image.path + ". Download url: " + image.download_url)
        print("Image format: " + image.file_format + ". Page index: " + str(image.page_index))
从 PDF 文档中的附件中提取图像

从 PDF 文档中附加的文档中提取图像。

在线试用

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

结论

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

也可以看看