개요

Word 문서를 병합하는 것은 여러 애플리케이션에서 흔히 필요한 작업입니다. 이는 보고서를 통합하거나 정보를 집계하거나 문서 관리를 간소화하기 위해 사용됩니다. 이 기사에서는 GroupDocs.Merger 라이브러리를 사용하여 파이썬으로 DOCX 파일을 병합하는 방법을 살펴보겠습니다. 이 강력한 라이브러리는 개발자가 Word 문서를 프로그램적으로 쉽게 조작할 수 있게 하여 높은 성능과 정확성을 보장합니다.

이 가이드에서는 다음을 다룰 것입니다:

여러 DOCX 파일 병합하기

여러 DOCX 파일을 병합하는 것은 GroupDocs.Merger 라이브러리로 간단합니다. 아래에는 이 프로세스에 관련된 주요 단계가 나와 있습니다:

  1. GroupDocs.Merger 패키지 임포트하기: 필요한 라이브러리를 임포트합니다.
  2. Merger 인스턴스 생성하기: 첫 번째 DOCX 파일 경로를 사용하여 Merger 클래스를 인스턴스화합니다.
  3. 추가 문서 추가하기: join 메서드를 사용하여 병합할 다른 DOCX 파일을 추가합니다.
  4. 병합된 문서 저장하기: 마지막으로 save 메서드를 호출하여 병합된 문서를 지정된 출력 경로에 기록합니다.

다음은 이러한 단계를 보여주는 파이썬 코드 스니펫입니다:

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를 정의하고 modeDISABLE_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에서 무료 평가판을 다운로드하고, 막힘 없이 라이브러리를 사용해 볼 수 있는 임시 라이센스를 Purchase Temporary License를 통해 얻으실 수 있습니다.

코드 예제

다음은 GroupDocs.Merger 라이브러리를 사용하여 병합 프로세스를 이해하는 데 도움을 줄 추가 예제입니다:

새 페이지에서 시작하지 않고 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"----------------------------------------------------------------------------")

사용자 정의 병합 옵션으로 여러 문서 병합하기

여기서는 특정 ISO 표준 준수를 설정하여 DOCX 문서를 병합하는 방법을 보여줍니다.

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의 무료 평가판은 릴리스 페이지에서 다운로드할 수 있습니다. 또한, Purchase Temporary License를 통해 평가 목적으로 임시 라이센스를 취득할 수 있습니다. 이 임시 라이센스를 통해 제한 없이 라이브러리를 사용해 보고 그 기능을 완전히 평가할 수 있습니다.