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

也可以看看