概覽
合併Word文檔在許多應用中是常見的需求,無論是為了合併報告、整合資訊,還是簡化文檔管理。在本文中,我們將探討如何使用Python和GroupDocs.Merger庫合併DOCX文件。這個強大的庫使開發人員能夠輕鬆地以編程方式操作Word文檔,同時確保高性能和準確性。
本指南將涵蓋:
如何合併多個DOCX文件
使用GroupDocs.Merger庫合併多個DOCX文件非常簡單。以下是此過程中涉及的主要步驟:
- 導入GroupDocs.Merger package: 開始時導入所需的庫。
- 創建Merger實例: 使用第一個DOCX文件路徑實例化Merger類。
- 加入其他文檔: 使用join方法添加您希望合併的其他DOCX文件。
- 保存合併的文檔: 最後,調用save方法將合併文檔寫入指定的輸出路徑。
以下是演示這些步驟的Python代碼片段:
import groupdocs.merger as gm
import constants
def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[範例基本用法] # MultipleDocumentOperations # 合併 : Docx")
    # 步驟1:創建一個包含第一個文檔的Merger對象
    with gm.Merger(constants.sample_docx) as merger:
        print(f"成功檢索文檔信息")
        
        # 步驟2:將另一個DOCX文件合併
        merger.join(constants.sample_docx)
        
        # 步驟3:保存合併的文檔
        merger.save(constants.output_docx)
        print(f"合併到: {constants.output_docx}")
    
    print(f"----------------------------------------------------------------------------")
無段落分隔的合併DOCX文檔
有時,合併文檔需要在不插入段落分隔的情況下連接內容。這有助於保持合併文檔中的資訊流。
- 創建Merger實例: 與之前相同,初始化Merger類。
- 設置合併選項: 定義WordJoinOptions並將mode設置為DISABLE_SECTION_BREAKS。
- 合併文檔: 添加要合併的其他文檔。
- 保存結果: 將最終輸出寫入新的DOCX文件。
以下是如何做到這一點:
import groupdocs.merger as gm
import constants
def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[範例基本用法] # MultipleDocumentOperations # 合併 # Word : 無段落分隔的合併Word文檔")
    # 步驟1:創建一個包含源文檔的Merger對象
    with gm.Merger(constants.sample_doc) as merger:
        print(f"成功檢索文檔信息")
        
        # 步驟2:定義Word合併選項以禁用段落分隔
        word_join_options = gm.domain.options.WordJoinOptions()
        word_join_options.mode = gm.domain.options.WordJoinMode.DISABLE_SECTION_BREAKS
        
        # 步驟3:合併文檔,無段落分隔
        merger.join(constants.sample_doc, word_join_options)
        
        # 步驟4:保存合併的文檔
        merger.save(constants.output_doc_without_section_breaks)
        print(f"合併到: {constants.output_doc_without_section_breaks}")
    
    print(f"----------------------------------------------------------------------------")
使用預定義合規模式合併DOCX文檔
對於某些特定的用例,文檔可能需要遵循某些標準。GroupDocs.Merger允許您使用預定義的合規模式合併文檔,以確保輸出滿足例如ISO標準的要求。
- 創建Merger實例: 使用基礎文檔初始化Merger類。
- 設置合規模式: 創建WordJoinOptions對象並設置compliance屬性。
- 合併文檔: 使用合併方法添加其他文檔。
- 保存最終文檔: 將其保存到您希望的輸出位置。
這是此操作的代碼:
import groupdocs.merger as gm
import constants
def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[範例基本用法] # MultipleDocumentOperations # 合併 # Word : 使用預定義合規模式合併Word文檔")
    # 步驟1:創建一個Merger對象,使用文檔
    with gm.Merger(constants.sample_docx) as merger:
        print(f"成功檢索文檔信息")
        
        # 步驟2:定義Word合併選項,使用預定義合規模式
        word_join_options = gm.domain.options.WordJoinOptions()
        word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
        
        # 步驟3:合併另一個文檔,並使用合規模式
        merger.join(constants.sample_docx, word_join_options)
        
        # 步驟4:保存合併的文檔
        merger.save(constants.output_docx_with_predefined_compliance_mode)
        print(f"合併到: {constants.output_docx_with_predefined_compliance_mode}")
    
    print(f"----------------------------------------------------------------------------")
從流中合併DOCX
您還可以從內存中的流合併DOCX文件,這在處理動態生成的文檔時非常有用。
- 獲取文件流: 以二進制模式打開您的文檔以獲取流。
- 創建Merger實例: 使用該流實例化Merger類。
- 執行合併操作: 根據需要進行合併並保存輸出。
以下是如何實現此操作:
from turtle import update
import groupdocs.merger as gm
import constants
def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[範例高級用法] # 加載 # 從流中加載文檔")
    # 步驟1:獲取文檔流
    stream = get_file_stream()
    
    # 步驟2:使用流創建Merger實例
    with gm.Merger(stream) as merger:
        print(f"成功從流中加載文檔")
    
    print(f"----------------------------------------------------------------------------")
def get_file_stream():
    file_path = constants.sample_docx
    return open(file_path, "rb")
參見
有關更多詳細信息,您可以探索以下資源:
您也可以從releases.groupdocs.com下載免費試用版,並獲取臨時許可證以便無限制地使用該庫,請訪問購買臨時許可證。
代碼範例
這裡有一些額外的範例可以幫助您理解使用GroupDocs.Merger庫進行合併的過程:
合併文檔而不從新頁開始
此範例演示如何合併文檔,使第一個文檔的最後一頁直接跟隨下一個文檔的第一頁,而不在中間插入任何新頁。
import groupdocs.merger as gm
import constants
def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[範例基本用法] # MultipleDocumentOperations # 合併 # Word : 合併文檔而不從新頁開始")
    # 步驟1:創建一個Merger對象,使用文檔
    with gm.Merger(constants.sample_doc) as merger:
        print(f"成功檢索文檔信息")
        
        # 步驟2:定義Word合併選項以連續模式
        word_join_options = gm.domain.options.WordJoinOptions()
        word_join_options.mode = gm.domain.options.WordJoinMode.CONTINUOUS
        
        # 步驟3:合併文檔而不插入新頁
        merger.join(constants.sample_doc, word_join_options)
        
        # 步驟4:保存合併的文檔
        merger.save(constants.output_doc_without_starting_from_new_page)
        print(f"合併到: {constants.output_doc_without_starting_from_new_page}")
    
    print(f"----------------------------------------------------------------------------")
使用自定義合併選項合併多個文檔
下面的範例展示了如何合併DOCX文檔,同時設置特定的合併選項,例如遵循特定的ISO標準。
import groupdocs.merger as gm
import constants
def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[範例高級用法] # 使用自定義合併選項合併")
    # 步驟1:創建一個Merger對象,使用基礎文檔
    with gm.Merger(constants.sample_docx) as merger:
        print(f"成功檢索文檔信息")
        
        # 步驟2:設置自定義合併選項,使用預定義合規模式
        word_join_options = gm.domain.options.WordJoinOptions()
        word_join_options.compliance = gm.domain.options.WordJoinCompliance.ISO_29500_2008_STRICT
        
        # 步驟3:合併另一個文檔,並使用合規設定
        merger.join(constants.sample_docx, word_join_options)
        
        # 步驟4:保存合併的文檔
        merger.save(constants.output_docx_with_predefined_compliance_mode)
        print(f"合併到: {constants.output_docx_with_predefined_compliance_mode}")
    
    print(f"----------------------------------------------------------------------------")
參見
要深入了解GroupDocs.Merger及其功能,您可以查看以下資源:
- GroupDocs.Merger for Python文檔
- GroupDocs.Merger API參考
- GroupDocs.Merger的GitHub代碼範例
- GroupDocs.Merger的發佈頁面
免費試用及臨時許可證
您可以從我們的發佈頁面下載GroupDocs.Merger的免費試用版。此外,您可以在購買臨時許可證上獲取臨時許可證以進行評估。這個臨時許可證允許您無限制地嘗試該庫,充分評估其能力。