從 PDF 中提取特定頁面

您可能需要從 PDF 文檔中提取特定頁面,或者可能需要將大型 PDF 文檔拆分為較小的部分。作為 Python 開發人員,您可以通過頁碼或一系列頁面以編程方式輕鬆地從 PDF 文檔中提取特定頁面。在本文中,您將學習如何使用 Python 中的 REST API 從 PDF 文檔中提取特定頁面。

本文應涵蓋以下主題:

文檔拆分器 REST API 和 Python SDK

為了從 PDF 文檔中提取頁面,我將使用 GroupDocs.Merger Cloud 的 Python SDK API。它是一個功能豐富的高性能 Cloud SDK,用於將多個文檔合併為一個文檔。它還使您能夠將單個文檔拆分為多個文檔。 SDK 提供了刪除、交換、旋轉或更改整個頁面或首選頁面範圍的頁面方向的功能,以及對任何支持的文件格式(如 PDF、Word、Powerpoint 和 Excel 工作表)輕鬆執行其他操作的功能。目前,它還為 Cloud API 提供 .NET、Java、PHP、Ruby、Android 和 Node.js SDK 作為其 文檔合併家族成員

您可以在控制台中使用以下命令將 GroupDocs.Merger-Cloud 安裝到您的 Python 項目:

pip install groupdocs_merger_cloud

在開始執行步驟和可用代碼示例之前,請從 儀表板 獲取您的客戶端 ID 和客戶端密碼。獲得 ID 和密碼後,添加如下所示的代碼:

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

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

在 Python 中使用 REST API 從 PDF 中提取特定頁面

您可以按照以下簡單步驟從 PDF 文檔中提取特定頁面:

  1. 上傳PDF文件至雲端
  2. 按頁碼提取特定頁面 從上傳的 PDF 文件
  3. 下載 提取的文件

上傳文件

首先,使用下面給出的代碼示例將多頁 PDF 文檔上傳到雲端:

# 創建 API 實例
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""

# 上傳示例文件
request = groupdocs_merger_cloud.UploadFileRequest("ten-pages.pdf", "C:\\Files\\ten-pages.pdf", my_storage)
response = file_api.upload_file(request)

因此,PDF 文件將上傳到 Cloud Storage,並可在儀表板的 文件部分 中找到。

使用 Python 按頁碼提取特定頁面

請按照下面提到的步驟以編程方式從 PDF 文檔中提取特定頁面或多頁。

  • 創建一個 Document API 實例
  • 提供拆分選項
  • 設置輸入文件路徑
  • 設置輸出目錄路徑
  • 提供以逗號分隔的頁碼以提取
  • 將模式設置為頁面
  • 創建拆分請求
  • 調用DocumentApi.split()方法獲取結果

以下代碼示例展示瞭如何使用 REST API 從 PDF 文檔中提供特定頁碼來提取頁面。

# 接口初始化
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# 定義拆分選項
options = groupdocs_merger_cloud.SplitOptions()
options.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
options.output_path = "Output"
options.pages = [1, 3]
options.mode = "Pages"

# 創建拆分請求
split_request = groupdocs_merger_cloud.SplitRequest(options)
result = documentApi.split(split_request)        

print("Documents count = " + str(len(result.documents)))
使用 Python 從 PDF 中提取特定頁面

使用 Python 從 PDF 中提取特定頁面

下載提取的頁面文件

上面的代碼示例會將提取的頁面保存在雲中單獨的 PDF 文件中。您可以使用以下代碼示例下載它們:

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

# 下載文件請求
request = groupdocs_merger_cloud.DownloadFileRequest("Output\\ten-pages_1.pdf", my_storage)
response = file_api.download_file(request)

# 將下載的文件移動到您的工作目錄
shutil.move(response, "C:\\Files\\")

使用 Python 按頁面範圍提取頁面

請按照下面提到的步驟通過以編程方式提供頁面範圍來從 PDF 文檔中提取頁面。

  • 創建一個 Document API 實例
  • 提供拆分選項
  • 設置輸入文件路徑
  • 設置輸出目錄路徑
  • 通過設置要提取的起始頁碼和結束頁碼來提供頁面範圍
  • 將模式設置為頁面
  • 創建拆分請求
  • 調用DocumentApi.split()方法獲取結果
  • 創建下載文件請求
  • 調用FileApi.download\file()方法下載文件

以下代碼示例展示瞭如何使用 REST API 提供 PDF 文檔的頁面範圍來提取頁面。請按照前面提到的步驟上傳文件。

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

# 定義拆分選項
options = groupdocs_merger_cloud.SplitOptions()
options.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
options.output_path = "Output"
options.start_page_number = 4
options.end_page_number = 7
options.mode = "Pages"

# 創建拆分請求
split_request = groupdocs_merger_cloud.SplitRequest(options)
result = documentApi.split(split_request)   

print("Documents count = " + str(len(result.documents)))

# 顯示結果並逐個下載文件
for data in result.documents:
    print("Document Url = " + str(data))
    
    # 創建下載文件請求
    request = groupdocs_merger_cloud.DownloadFileRequest(data.path, my_storage)
    response = file_api.download_file(request)
    
    # 將下載的文件移動到您的工作目錄
    shutil.move(response, "C:\\Files\\")
使用 Python 按頁面範圍提取頁面

使用 Python 按頁面範圍提取頁面

在線試用

請試用以下使用上述 API 開發的免費在線 PDF 拆分器工具。 https://products.groupdocs.app/splitter/pdf

結論

在本文中,您學習瞭如何使用 Python 從雲端的 PDF 文檔中提取特定頁面。您還學習瞭如何以編程方式將 PDF 文件上傳到雲端,然後從雲端下載提取的文件。您可以使用 文檔 了解有關 GroupDocs.Merger Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看