Огляд

Об’єднання документів Word є загальною вимогою в багатьох програмах, чи то для об’єднання звітів, консолідації інформації, або просто спрощення управління документами. У цій статті ми дослідимо, як об’єднати файли DOCX за допомогою Python та бібліотеки GroupDocs.Merger. Ця потужна бібліотека дозволяє розробникам легко маніпулювати документами Word програмно, забезпечуючи високу продуктивність і точність.

Цей посібник охоплює:

Як об’єднати кілька файлів DOCX

Об’єднання кількох файлів DOCX є простим процесом за допомогою бібліотеки GroupDocs.Merger. Нижче наведені основні кроки, що входять до цього процесу:

  1. Імпортуйте пакет GroupDocs.Merger: Почніть з імпорту необхідної бібліотеки.
  2. Створіть екземпляр Merger: Створіть екземпляр класу Merger, використовуючи шлях до першого файлу DOCX.
  3. Додайте додаткові документи: Використовуйте метод join, щоб додати інші файли DOCX, які ви хочете об’єднати.
  4. Збережіть об’єднаний документ: Нарешті, викликайте метод save, щоб записати об’єднаний документ у вказаній вихідній директорії.

Ось фрагмент коду Python, що демонструє ці кроки:

import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Приклад базового використання] # MultipleDocumentOperations # Merge : 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 без розривів секцій

Іноді об’єднання документів вимагає, щоб вміст був об’єднаний без вставлення розривів секцій. Це може допомогти зберегти потік інформації між об’єднаними документами.

  1. Створіть екземпляр Merger: Як і раніше, ініціалізуйте клас Merger.
  2. Встановіть параметри об’єднання: Визначте WordJoinOptions і встановіть mode на DISABLE_SECTION_BREAKS.
  3. Об’єднайте документи: Додайте додатковий документ для об’єднання.
  4. Збережіть результат: Запишіть фінальний вихід в новий файл DOCX.

Ось як ви можете це зробити:

import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Приклад базового використання] # MultipleDocumentOperations # Merge # Word : MergeWordDocumentsWithoutSectionBreaks")

    # Крок 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.

  1. Створіть екземпляр Merger: Ініціалізуйте клас Merger з вашим базовим документом.
  2. Встановіть режим відповідності: Створіть об’єкт WordJoinOptions і встановіть властивість compliance.
  3. Об’єднайте документи: Додайте додатковий документ, використовуючи метод join.
  4. Збережіть фінальний документ: Збережіть його у бажаній вихідній директорії.

Ось код для цієї операції:

import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Приклад базового використання] # MultipleDocumentOperations # Merge # Word : MergeWordDocumentsWithPredefinedComplianceMode")

    # Крок 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 з потоків у пам’яті, що може бути корисним, коли ви працюєте з динамічно згенерованими документами.

  1. Отримайте файловий потік: Відкрийте ваш документ у двійковому режимі, щоб отримати потік.
  2. Створіть екземпляр Merger: Ініціалізуйте клас Merger, використовуючи потік.
  3. Виконайте операцію об’єднання: Об’єднайте за необхідності та збережіть вихід.

Ось як ви реалізуєте це:

from turtle import update
import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Приклад просунутого використання] # Loading # LoadDocumentFromStream")

    # Крок 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 для Python:

Об’єднання документів Word без початку з нової сторінки

Цей приклад демонструє, як об’єднати документи так, щоб остання сторінка першого документа безпосередньо слідувала за першою сторінкою наступного документа, без вставлення нової сторінки між ними.

import groupdocs.merger as gm
import constants

def run():
    print(f"----------------------------------------------------------------------------")
    print(f"[Приклад базового використання] # MultipleDocumentOperations # Merge # Word : MergeWordDocumentsWithoutStartingFromNewPage")

    # Крок 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"[Приклад просунутого використання] # Merge with Custom Join Options")

    # Крок 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 з нашої сторінки релізів. Крім того, ви можете отримати тимчасову ліцензію для оцінки на Придбати тимчасову ліцензію. Ця тимчасова ліцензія дозволяє вам спробувати бібліотеку без жодних обмежень і повністю оцінити її можливості.