[python] 파이썬으로 워드 문서 분할하기

워드 문서는 일반적으로 큰 크기를 가지고 있고, 여러 페이지로 구성되어 있을 수 있습니다. 때로는 이러한 문서를 작은 단위로 분할하여 처리해야 하는 경우가 있을 수 있습니다. 이 글에서는 파이썬을 사용하여 워드 문서를 분할하는 방법을 알아보겠습니다.

필요한 라이브러리 설치하기

문서를 분할하기 위해 먼저 python-docx 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 라이브러리를 설치할 수 있습니다.

pip install python-docx

코드 작성하기

from docx import Document

def split_document(input_file, output_prefix, page_limit):
    document = Document(input_file)
    total_pages = len(document.sections)

    for i in range(0, total_pages, page_limit):
        doc = Document()

        for section in document.sections[i:i+page_limit]:
            for element in section.element.body:
                doc.element.body.append(element)

        doc.save(f"{output_prefix}_{i+1}-{i+page_limit}.docx")

# 사용 예시
split_document("input.docx", "output", 2)

위의 코드는 python-docx 라이브러리를 사용하여 문서를 분할하는 함수를 정의한 예시입니다. 이 함수는 입력 파일(input_file), 출력 파일의 접두사(output_prefix), 페이지 제한(page_limit)을 인자로 받습니다.

함수는 주어진 입력 파일을 로드한 후, 페이지 제한 단위로 문서를 분할합니다. 분할된 각 부분은 새로운 Document 객체에 추가되고, 해당 객체는 접두사와 페이지 범위를 이용하여 새로운 파일로 저장됩니다.

위의 예시 코드는 “input.docx” 파일을 2 페이지 단위로 분할하여 “output_1-2.docx”, “output_3-4.docx”와 같은 파일로 저장합니다.

결과 확인하기

위의 코드를 실행하면 입력 파일이 주어진 페이지 단위로 분할되어 저장됩니다. 각 파일을 열어 내용을 확인하면 분할된 문서를 확인할 수 있습니다.

결론

이렇게 파이썬을 사용하여 워드 문서를 분할하는 방법을 알아보았습니다. 위의 예시 코드를 기반으로 필요에 따라 다양한 분할 방식을 적용하여 워드 문서를 효율적으로 처리할 수 있습니다.

참고 자료