Огляд
Об’єднання документів Word є загальною вимогою в багатьох програмах, чи то для об’єднання звітів, консолідації інформації, або просто спрощення управління документами. У цій статті ми дослідимо, як об’єднати файли DOCX за допомогою Python та бібліотеки GroupDocs.Merger. Ця потужна бібліотека дозволяє розробникам легко маніпулювати документами Word програмно, забезпечуючи високу продуктивність і точність.
Цей посібник охоплює:
- Як об’єднати кілька файлів DOCX
- Як об’єднати документи без розривів секцій
- Як об’єднати з попередньо визначеними режимами відповідності
- Обробка потоків документів у Python
Як об’єднати кілька файлів DOCX
Об’єднання кількох файлів DOCX є простим процесом за допомогою бібліотеки GroupDocs.Merger. Нижче наведені основні кроки, що входять до цього процесу:
- Імпортуйте пакет GroupDocs.Merger: Почніть з імпорту необхідної бібліотеки.
- Створіть екземпляр Merger: Створіть екземпляр класу Merger, використовуючи шлях до першого файлу DOCX.
- Додайте додаткові документи: Використовуйте метод join, щоб додати інші файли DOCX, які ви хочете об’єднати.
- Збережіть об’єднаний документ: Нарешті, викликайте метод 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 без розривів секцій
Іноді об’єднання документів вимагає, щоб вміст був об’єднаний без вставлення розривів секцій. Це може допомогти зберегти потік інформації між об’єднаними документами.
- Створіть екземпляр Merger: Як і раніше, ініціалізуйте клас Merger.
- Встановіть параметри об’єднання: Визначте WordJoinOptionsі встановітьmodeнаDISABLE_SECTION_BREAKS.
- Об’єднайте документи: Додайте додатковий документ для об’єднання.
- Збережіть результат: Запишіть фінальний вихід в новий файл 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.
- Створіть екземпляр Merger: Ініціалізуйте клас Merger з вашим базовим документом.
- Встановіть режим відповідності: Створіть об’єкт WordJoinOptionsі встановіть властивістьcompliance.
- Об’єднайте документи: Додайте додатковий документ, використовуючи метод join.
- Збережіть фінальний документ: Збережіть його у бажаній вихідній директорії.
Ось код для цієї операції:
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 з потоків у пам’яті, що може бути корисним, коли ви працюєте з динамічно згенерованими документами.
- Отримайте файловий потік: Відкрийте ваш документ у двійковому режимі, щоб отримати потік.
- Створіть екземпляр Merger: Ініціалізуйте клас Merger, використовуючи потік.
- Виконайте операцію об’єднання: Об’єднайте за необхідності та збережіть вихід.
Ось як ви реалізуєте це:
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")
Дивіться також
Для отримання додаткової інформації ви можете ознайомитися з наступними ресурсами:
- Документація GroupDocs.Merger для Python
- API-референція для GroupDocs.Merger
- Приклади GroupDocs.Merger на GitHub
Ви також можете завантажити безкоштовну пробну версію з 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 для Python
- API-референція для GroupDocs.Merger
- Приклади коду на GitHub для GroupDocs.Merger
- Сторінка релізів для GroupDocs.Merger
Безкоштовна пробна версія та тимчасова ліцензія
Ви можете завантажити безкоштовну пробну версію GroupDocs.Merger з нашої сторінки релізів. Крім того, ви можете отримати тимчасову ліцензію для оцінки на Придбати тимчасову ліцензію. Ця тимчасова ліцензія дозволяє вам спробувати бібліотеку без жодних обмежень і повністю оцінити її можливості.