您可以在雲端以編程方式輕鬆地將兩個或多個 PDF 文檔組合成一個 PDF 文件。它可以用於共享或打印合併在一個文件中的多個文檔,而不是一個一個地處理所有文件。作為 Python 開發人員,您可以在 Python 應用程序中將兩個或多個 PDF 文件合併為一個文件。在本文中,您將學習如何在 Python 中使用 REST API 合併 PDF 文件。
本文應涵蓋以下主題:
PDF 合併 REST API 和 Python SDK
為了合併兩個或多個 PDF 文件,我將使用 GroupDocs.Merger Cloud 的 Python SDK API。它允許您將兩個或多個文檔合併為一個文檔,或將一個源文檔拆分為多個結果文檔。它還使您能夠移動、刪除、交換、旋轉或更改整個頁面或首選頁面範圍的縱向或橫向頁面方向。 SDK支持Word、Excel、PowerPoint, Visio、OneNote、PDF、HTML等所有流行文檔格式的合併和拆分。
您可以在控制台中使用以下命令將 GroupDocs.Merger Cloud 安裝到您的 Python 應用程序:
pip install groupdocs_merger_cloud
在執行上述步驟之前,請從 dashboard 獲取您的 Client ID 和 Secret。獲得 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 文件:
上傳 PDF 文件
首先,使用下面給出的代碼示例將 PDF 文件上傳到雲端:
# 創建 API 實例
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)
# 上傳示例文件
for filename in glob.iglob("C:\\Files\\upload\\*.pdf", recursive=True):
destFile = filename.replace("C:\\Files\\upload", "", 1)
# 檢查文件是否已經存在
fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
if not fileExistsResponse.exists:
# 創建上傳文件請求
request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
# 上傳文件
file_api.upload_file(request)
因此,上傳的 PDF 文件將在雲端儀表板的 文件部分 中可用。
使用 Python 合併多個 PDF 文件
您可以按照以下步驟以編程方式輕鬆地將多個 PDF 文件合併為一個文件:
- 創建 DocumentApi 的實例
- 創建 JoinItem 的實例
- 為 FileInfo 中的第一個 JoinItem 提供輸入文件路徑
- 創建 JoinItem 的另一個實例
- 為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑
- 添加更多 JoinItems 以合併兩個以上的文件
- 創建 JoinOptions 的實例
- 添加已創建連接項的逗號分隔列表
- 設置輸出文件路徑
- 使用 JoinOptions 創建 JoinRequest 的實例
- 使用 JoinRequest 調用 DocumentAPI 的 join() 方法獲取結果
以下代碼片段顯示瞭如何在 Python 中使用 REST API 合併多個 PDF 文件。
# 接口初始化
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)
# 源文件 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("ten-pages_1.pdf")
# 源文件 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("ten-pages_2.pdf")
# 定義連接選項
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "Output/joined.pdf"
# 創建加入請求
request = groupdocs_merger_cloud.JoinRequest(options)
# 合併文件
result = documentApi.join(request)
下載合併文件
上面的代碼示例將合併後的 PDF 文件保存在雲端。您可以使用以下代碼示例下載它:
# API初始化
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
# 創建下載文件請求
request = groupdocs_merger_cloud.DownloadFileRequest("Output/joined.pdf", my_storage)
# 下載文件
response = file_api.download_file(request)
# 將下載的文件移動到您的工作目錄
shutil.move(response, "C:\\Files\\")
使用 Python 合併多個 PDF 文件的特定頁面
您可以按照下面提到的步驟以編程方式輕鬆地將多個 PDF 文件的特定頁面合併到一個文件中:
- 創建 DocumentApi 的實例
- 創建 JoinItem 的實例
- 為 FileInfo 中的第一個 JoinItem 提供輸入文件路徑
- 定義要合併的頁碼列表
- 創建 JoinItem 的另一個實例
- 為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑
- 定義起始頁碼和結束頁碼
- 定義頁面範圍模式
- 創建 JoinOptions 的實例
- 添加已創建連接項的逗號分隔列表
- 設置輸出文件路徑
- 使用 JoinOptions 創建 JoinRequest 的實例
- 通過 JoinRequest 調用 DocumentAPI 的 join() 方法獲取結果
以下代碼片段顯示瞭如何在 Python 中使用 REST API 合併來自多個 PDF 文件的特定頁面。
# 接口初始化
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)
# 源文件 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("Output/joined.pdf")
# 要合併的特定頁面的頁碼
item1.pages = [1,2]
# 源文件 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
# 起始頁碼
item2.start_page_number = 2
# 結束頁碼
item2.end_page_number = 4
# 頁面範圍模式
item2.range_mode = "OddPages"
# 定義連接選項
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "Output/joined-pages.pdf"
# 創建加入請求
request = groupdocs_merger_cloud.JoinRequest(options)
# 合併頁面
result = documentApi.join(request)
在線試用
請試用以下使用上述 API 開發的免費在線 PDF 合併工具。 https://products.groupdocs.app/merger/pdf
結論
在本文中,您了解瞭如何在雲端合併多個 PDF 文件。您還學習瞭如何使用 Python 將多個 PDF 文檔的特定頁面合併到一個文件中。此外,您還學習瞭如何以編程方式將 PDF 文件上傳到雲端,然後從雲端下載合併後的文件。 PDF 合併 REST API 還為 Cloud API 提供 .NET、Java、PHP、Ruby、Android 和 Node.js SDK 作為其 文檔合併家族成員。您可以使用 文檔 了解有關 GroupDocs.Merge Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。