본문 바로가기

python-docx 라이브러리에서 테이블 내의 모든 셀에 대해 일관된 단락 서식(예: 줄 간격, 들여쓰기 등)을 적용하는 것은 각 셀의 문단에 개별적으로 설정해야 합니다. python-docx는 테이블의 셀에 대해 공통적으로 서식을 적용할 수 있는 직접적인 방법을 제공하지 않으므로, 모든 셀을 순회하면서 필요한 서식을 설정하는 코드를 작성해야 합니다.

아래는 테이블의 모든 셀에 대해 특정 단락 서식을 적용하는 예시입니다. 이 예제에서는 줄 간격과 들여쓰기를 설정합니다.

예제: 테이블의 모든 셀에 단락 서식 적용

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

def apply_paragraph_format_to_table_cells(table, line_spacing=None, space_before=None, space_after=None, alignment=None):
    for row in table.rows:
        for cell in row.cells:
            for paragraph in cell.paragraphs:
                # 줄 간격 설정
                if line_spacing is not None:
                    paragraph.paragraph_format.line_spacing = Pt(line_spacing)

                # 문단 앞 간격 설정
                if space_before is not None:
                    paragraph.paragraph_format.space_before = Pt(space_before)

                # 문단 뒤 간격 설정
                if space_after is not None:
                    paragraph.paragraph_format.space_after = Pt(space_after)

                # 정렬 설정
                if alignment is not None:
                    paragraph.paragraph_format.alignment = alignment

def create_document_with_formatted_table():
    doc = Document()
    table = doc.add_table(rows=2, cols=2, style='Table Grid')

    # 샘플 데이터 입력
    for i, row in enumerate(table.rows):
        for j, cell in enumerate(row.cells):
            cell.text = f'Row {i+1}, Cell {j+1}'

    # 테이블의 모든 셀에 단락 서식 적용
    apply_paragraph_format_to_table_cells(table, line_spacing=12, space_before=6, space_after=6, alignment=WD_PARAGRAPH_ALIGNMENT.CENTER)

    # 문서 저장
    doc.save('formatted_table.docx')

create_document_with_formatted_table()

코드 설명:

  • apply_paragraph_format_to_table_cells 함수: 이 함수는 주어진 테이블의 모든 셀에 대해 단락 서식을 적용합니다. 사용 가능한 옵션으로 줄 간격, 문단 앞/뒤 간격, 그리고 텍스트 정렬을 설정할 수 있습니다.
  • 문단 서식 적용: 각 셀의 모든 문단에 대해 줄 간격(line_spacing), 문단 앞 간격(space_before), 문단 뒤 간격(space_after), 그리고 정렬(alignment)을 설정합니다.
  • 문서 생성 및 저장: 새 문서를 생성하고 테이블을 추가한 후, 정의된 함수를 사용하여 모든 셀에 단락 서식을 적용하고 문서를 저장합니다.

이 방법을 통해 python-docx를 사용하여 테이블의 각 셀에 일관된 단락 서식을 적용할 수 있습니다. 각 셀의 모든 문단에 서식을 설정함으로써, 문서의 전반적인 일관성과 가독성을 향상시킬 수 있습니다.

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.