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
를 사용하여 테이블의 각 셀에 일관된 단락 서식을 적용할 수 있습니다. 각 셀의 모든 문단에 서식을 설정함으로써, 문서의 전반적인 일관성과 가독성을 향상시킬 수 있습니다.
'IT > 파이썬' 카테고리의 다른 글
python-docx - tcPr 옵션을 이용해 cell margin 없애기 (2) | 2024.06.12 |
---|---|
python-docx - 하이퍼링크 스타일 살리기 (1) | 2024.06.11 |
python-docx - 특정 문단 이후에 문단, 테이블 추가하기 (0) | 2024.06.11 |
'\n'.join(str_buffer) 구문 설명 - join 자동 루프 (0) | 2024.05.21 |
파이썬 패턴 처리 기능 - 멀티라인 처리 예제 (0) | 2024.05.20 |