如何使用 Python 在線從 PDF 文件中提取頁面

在 Python 中在線從 PDF 文件中提取頁面

在某些情況下,您可能需要從 PDF 文檔中提取 PDF 頁,或者可能需要將大型 PDF 文檔分成較小的 PDF 文件。作為 Python 開發人員,您可以輕鬆地在線從 PDF 文件中提取特定頁面,或者以編程方式按頁面範圍提取 PDF 頁面。在本文中,您將學習如何使用 REST API 在 Python 中在線從 PDF 文件中提取頁面。

本文將涵蓋以下主題:

文檔提取器 REST API 和 Python SDK

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

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

pip install groupdocs_merger_cloud

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

# 導入groupdocs合併SDK
import groupdocs_merger_cloud

# 免費註冊後,從 https://dashboard.groupdocs.cloud 獲取 app_sid 和 app_key。
app_sid = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
app_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# 獲取文件 API 配置 
configuration = groupdocs_merger_cloud.Configuration(app_sid, app_key)
configuration.api_base_url = "https://api.groupdocs.cloud"
storage_name = "LocalStorage"

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

我們的 PDF 拆分器 API 允許您預覽要拆分的頁面。您只需提供要提取的頁數即可選擇頁面。立即將您的 PDF 分成單獨的頁面,或從新的 PDF 文檔中提取特定頁面。按照下面提到的簡單步驟從在線 PDF 文件中提取 PDF 頁面:

  1. 上傳 PDF文件到雲端。
  2. 提取 Python 中按頁碼排列的 PDF 頁面。
  3. 下載 提取的文件。

上傳文件

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

# 將 PDF 文件上傳到雲存儲
# 創建文件 API 的實例
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

# 調用上傳文件請求
request = groupdocs_merger_cloud.UploadFileRequest("python-testing\sample-file.pdf", "H:\\groupdocs-cloud-data\\sample-file.pdf", storage_name)

# 上傳PDF文件到雲端
response = file_api.upload_file(request)
print(response.uploaded)

因此,PDF 文件將上傳到 Cloud Storage,並可在儀表板的 文件部分 中找到。我們會在上傳後 24 小時內從雲端永久刪除您的所有文件。

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

要以編程方式從 PDF 文檔中提取特定頁面或多頁,請按照以下步驟操作:

  • 首先,創建一個 PagesApi 實例
  • 其次,提供 ExtractOptions 實例
  • 現在,使用 FileInfo 實例設置輸入文件路徑
  • 接下來,設置輸出目錄路徑
  • 然後,提供以逗號分隔的頁碼以提取
  • 接下來,將模式設置為頁面
  • 接下來,創建 ExtractRequest 實例
  • 最後,通過調用 pagesApi.extract() 類獲取結果

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

# 如何使用 REST API 在 Python 中從 PDF 中提取特定頁面
try:
    # 創建頁面 API 的實例
    pagesApi = groupdocs_merger_cloud.PagesApi.from_keys(app_sid, app_key)
     
    options = groupdocs_merger_cloud.ExtractOptions()
    options.file_info = groupdocs_merger_cloud.FileInfo("python-testing/sample-file.pdf")
    options.output_path = "python-testing"
    options.pages = [2, 4, 7]        
     
    result = pagesApi.extract(groupdocs_merger_cloud.ExtractRequest(options))
    print("Successfully extracted certain pages of PDF document: " + result[0].path)
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

下載提取的 PDF 頁面文件

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

# API初始化以下載轉換後的文件
import shutil
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

# 創建下載文件請求
request = groupdocs_merger_cloud.DownloadFileRequest("python-testing\sample-file.pdf", storage_name)

# 下載轉換後的文件
response = file_api.download_file(request)

# 將下載的文件移動到您的目錄
shutil.move(response, "H:\\groupdocs-cloud-data\\")

使用 REST API 在 Python 中按頁面範圍從 PDF 中提取頁面

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

  • 首先,創建一個 PagesApi 實例
  • 接下來,設置 ExtractOptions
  • 使用 FileInfo 實例設置輸入文件路徑
  • 接下來,設置輸出目錄路徑
  • 通過設置要提取的起始頁碼和結束頁碼來提供頁面範圍
  • 現在,將模式間隔設置為頁面
  • 將 rangemode 設置為 EvenPages 或 OddPages
  • 接下來,創建 ExtractRequest 實例
  • 最後調用pagesApi.extract()方法得到結果

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

# 如何使用 REST API 在 Python 中按頁面範圍從 PDF 中提取頁面
try:
    # 創建文檔 API 的實例
    pagesApi = groupdocs_merger_cloud.PagesApi.from_keys(app_sid, app_key)
     
    options = groupdocs_merger_cloud.ExtractOptions()
    options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-file.pdf")
    options.output_path = "python-testing"
    options.start_page_number = 1
    options.end_page_number = 10
    options.range_mode = "EvenPages" # or set range_mode to "OddPages"
    options.mode = "Pages" # Mode Intervals
     
    result = pagesApi.extract(groupdocs_merger_cloud.ExtractRequest(options))
    print("Successfully extract selected pages from PDF by page range interval: " + result[0].path)
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

免費在線 PDF 頁面提取器

如何免費從pdf中提取頁面?請嘗試以下使用上述 API 開發的免費在線 PDF 提取工具

加起來

這使我們得出了博客文章的結論。我希望你已經學會了:

  • 如何在 Python 中從 PDF 文檔中提取特定頁面;
  • 以編程方式上傳 PDF 文件,然後從雲端下載提取的文件;
  • 如何使用 Python 使用頁面範圍提取 PDF 文件頁面;

您可以使用 文檔 了解有關 GroupDocs.Merger Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。

在我們的 入門頁面 上,您可能會發現更多詳細信息。

此外,Groupdocs.cloud 不斷更新新主題。因此,隨時了解最新的 API 信息。

問一個問題

您可以通過我們的免費支持論壇 詢問有關 PDF 頁面提取軟件 API 的問題

常見問題

如何在 Python 中從 PDF 文件中提取頁面?

請點擊 此鏈接 了解有關如何使用 Python 從 PDF 文件中提取頁面的 Python 代碼片段。

如何使用 REST API 在線從 PDF 文檔中提取頁面?

創建 PagesApi 的實例,設置 ExtractOptions 的值,並使用 ExtractRequest 調用 pagesApi.extract() 方法以在線保存選定的 PDF 文件頁面。

如何安裝 PDF 頁面提取器免費下載庫?

從 PDF 中提取頁面的一種簡單方法是使用 Python SDK。您可以安裝 PDF 提取器 Python 庫,以編程方式從 PDF 文件中提取多個頁面。

如何在 Windows 中離線提取 PDF 頁面?

請訪問此鏈接 下載適用於 windows 的 PDF 提取軟件。這個 PDF 提取器免費下載軟件將在 Windows 中快速拆分 PDF 頁面,只需單擊一下。

也可以看看