[python] python-docx로 워드 문서 페이지 번호 추가하기

Python을 사용하여 워드 문서를 작성하거나 수정하는 경우 때로는 페이지 번호를 추가해야 할 때가 있습니다. 이를 위해 python-docx 라이브러리를 사용할 수 있습니다. 이 블로그 포스트에서는 python-docx를 사용하여 워드 문서에 페이지 번호를 추가하는 방법에 대해 알아보겠습니다.

python-docx 라이브러리 설치하기

먼저, python-docx 라이브러리를 설치해야 합니다. 아래의 명령어로 라이브러리를 설치할 수 있습니다.

pip install python-docx

페이지 번호 추가하기

다음은 페이지 번호를 추가하는 코드의 예시입니다.

from docx import Document
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
from docx.shared import Pt

def add_page_numbers(document):
    # 페이지 번호를 추가할 문단을 선택합니다.
    footer = document.sections[0].footer

    # 추가할 텍스트를 생성합니다.
    footer_paragraph = footer.paragraphs[0]
    footer_paragraph.text = "페이지 번호:"

    # 텍스트 스타일을 설정합니다.
    footer_paragraph.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
    footer_paragraph.runs[0].bold = True
    footer_paragraph.runs[0].font.size = Pt(10)

    # 페이지 번호를 추가합니다.
    for i, page in enumerate(document.sections[0].iter_paragraphs()):
        page_number = i + 1
        page.add_run().add_field('PAGE', page_number, None)

# 워드 문서를 엽니다.
document = Document('example.docx')

# 페이지 번호를 추가합니다.
add_page_numbers(document)

# 변경된 워드 문서를 저장합니다.
document.save('example_with_page_numbers.docx')

위의 코드에서는 python-docx를 사용하여 문서의 푸터에 페이지 번호를 추가하고 있습니다. add_page_numbers 함수는 문서 객체를 받아와서 페이지 번호를 추가합니다. footer_paragraph.text를 사용하여 푸터에 표시할 텍스트를 설정하고, footer_paragraph.alignment을 사용하여 텍스트의 정렬을 설정합니다. 또한, footer_paragraph.runs[0]을 사용하여 텍스트의 스타일을 변경할 수 있습니다. 마지막으로, page.add_run().add_field를 사용하여 실제 페이지 번호를 추가합니다.

참고 자료