如何將多個word文檔合二為一併保持格式

如何使用 Python 合併多個 Word 文檔

使用 REST API 在雲端以編程方式將兩個或多個 word 文檔 組合成一個 word 文件。我們的在線 docx 合併 API 提供了一種方便的解決方案,可以在線將多個 word 文檔合併並合併為一個 word 文檔,而不是一個一個地處理文件。作為 Python 開發人員,您可以在線將兩個 word 文檔合併為一個 word 文檔。在本文中,您將學習如何使用 Python 合併多個 word 文檔。

本文應涵蓋以下主題:

Word 文檔合併 REST API – Python SDK

要在線合併 word 文件,我將使用 GroupDocs.Merger Cloud 的 Python SDK API。它支持將兩個或多個文件組合成一個 word 文檔或從單個文檔中提取文檔頁面。 Word 在線合併還允許您移動、刪除、交換、旋轉或更改整個頁面或首選頁面範圍的頁面方向,無論是縱向還是橫向。此SDK支持所有流行文檔格式的合併和拆分,例如Word、Excel、PowerPoint, Visio、OneNote、PDF、HTML等。

使用以下命令安裝 GroupDocs.Merger Python SDK 以在線合併 docx 文件:

pip install groupdocs_merger_cloud

在執行上述步驟之前,請從 dashboard 獲取您的 Client ID 和 Secret。獲得 ID 和密碼後,添加如下所示的代碼:

# 從 http://api.groupdocs.cloud 在你的 python 應用程序中導入 Python SDK
import groupdocs_merger_cloud

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

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

如何使用 REST API 在 Python 中合併 Word 文件

在雲端在線合併word文檔,我們將按照下面提到的簡單步驟進行:

  1. 上傳word文件到雲端
  2. 合併 使用 Python 的 docx 文件
  3. 下載合併後的word docx文件

上傳 Word 文件

首先,使用下面給出的代碼示例將word文件上傳到雲端:

# 將Word文檔上傳到雲存儲
# 創建 API 實例
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)

# 上傳示例文件
for filename in glob.iglob("H:\\groupdocs-cloud-data\\upload\\*.docx", recursive=True):
    destFile = filename.replace("H:\\groupdocs-cloud-data\\upload", "", 1)           
    # 檢查文件是否已經存在
    fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:
        # 創建上傳文件請求
        request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
        # 上傳文件到雲端
        response = file_api.upload_file(request)
        print(response.uploaded)

因此,上傳的 word 文件將在雲上儀表板的 文件部分 中可用。

使用 Python 合併多個 Word 文件

按照下面提到的步驟,以編程方式將在線 word 文件組合成一個文件:

  • 創建 DocumentApi 的實例
  • 創建 JoinItem 的實例
  • 為 FileInfo 中的第一個 JoinItem 提供輸入文件路徑
  • 創建 JoinItem 的另一個實例
  • 為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑
  • 添加更多 JoinItems 以合併兩個以上的文件
  • 創建 JoinOptions 的實例
  • 添加已創建連接項的逗號分隔列表
  • 設置輸出文件路徑
  • 使用 JoinOptions 創建 JoinRequest 的實例
  • 最後,通過使用 JoinRequest 調用 DocumentAPI 的 join() 方法來合併文件

下面的代碼片段展示瞭如何使用Python在線將word文檔合二為一:

# 如何在 Python 中合併 Word Docx 文件 
# 創建必要的 API 實例
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# 輸入源文件 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("python-testing/word-one.docx")

# 輸入源文件 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("python-testing/word-two.docx")

# 定義連接選項
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "python-testing/joined-files.docx"

# 創建加入請求
request = groupdocs_merger_cloud.JoinRequest(options)

# 合併 docx 文件
result = documentApi.join(request)
print("Successfully merged Word Docx files: " + str(result))

下載合併文件

現在你知道如何使用 python 合併 word 文檔並保持格式化。您可以使用以下代碼示例下載它:

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

# 創建下載文件請求
request = groupdocs_merger_cloud.DownloadFileRequest("python-testing\\joined-files.docx", storage_name)

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

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

在 Python 中合併多個 Word 文件的特定頁面

接下來,按照以下步驟以編程方式將多個 word 文件的特定頁面組合成一個文檔:

  • 創建 DocumentApi 的實例
  • 創建 JoinItem 的實例
  • 為 FileInfo 中的第一個 JoinItem 提供輸入文件路徑
  • 在逗號分隔數組中定義頁碼列表
  • 創建 JoinItem 的另一個實例
  • 為 FileInfo 中的第二個 JoinItem 提供輸入文件路徑
  • 定義起始頁碼和結束頁碼
  • 將頁面範圍模式定義為 OddPages
  • 創建 JoinOptions 的實例
  • 添加已創建連接項的逗號分隔列表
  • 設置輸出文件路徑
  • 使用 JoinOptions 創建 JoinRequest 的實例
  • 最後通過JoinRequest調用DocumentAPI的join()方法合併word文件

以下代碼片段顯示瞭如何在 Python 中使用 REST API 將 word 文件的特定頁面合併為一個頁面:

# 如何在 Python 中合併多個 docx 文件的特定頁面
# 創建和初始化 api 實例
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# 輸入源文件 1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("python-testing/word-one.docx")
# 要合併的特定頁面的頁碼
item1.pages = [1,2]

# 輸入源文件 2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("python-testing/word-two.docx")
# 起始頁碼
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 = "python-testing/joined-pages.docx"

# 創建加入請求
request = groupdocs_merger_cloud.JoinRequest(options)

# 合併 docx 文件
result = documentApi.join(request)
print("Successfully merged Word pages: " + str(result))

免費在線合併 Word 文檔

如何免費在線合併word文檔?請嘗試以下免費在線合併文檔,它是使用上述 API 開發的。

結論

在本教程中,我們學習了:

  • 如何使用python在雲端在線合併word文檔;
  • 如何以編程方式上傳和下載合併的文檔文件;
  • 在 Python 中將多個 word 文檔的頁面在線合併為單個文件;

此外,您可以使用 文檔 了解有關 GroupDocs.Merger Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之通信。此外,請參閱適用於 Python 的 GroupDocs.Merger Cloud SDK 此處示例

問一個問題

如果您對 Word 文檔合併有任何疑問,請隨時在免費支持論壇 上向我們提問。

也可以看看