[python] ReportLab 섹션 정렬

ReportLab은 파이썬에서 PDF 문서를 생성하는 라이브러리입니다. 이 라이브러리를 사용하면 섹션(문단, 제목 등)을 쉽게 정렬할 수 있습니다. ReportLab을 사용하여 섹션을 가운데, 왼쪽, 오른쪽에 정렬하는 방법을 알아보겠습니다.

가운데 정렬

가운데 정렬은 문단이나 제목을 가운데로 배치합니다. ReportLab에서는 ParagraphStyle 객체를 사용하여 정렬을 제어할 수 있습니다. 다음은 가운데 정렬된 섹션을 생성하는 예제입니다.

from reportlab.platypus import SimpleDocTemplate, Paragraph
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle

def center_aligned_section():
    doc = SimpleDocTemplate("center_aligned_section.pdf")
    styles = getSampleStyleSheet()
    center_style = ParagraphStyle(name="Center", parent=styles["BodyText"], alignment=1)

    # 문단 생성
    section = []
    section.append(Paragraph("가운데 정렬된 섹션", center_style))

    doc.build(section)

center_aligned_section()

왼쪽 정렬

왼쪽 정렬은 문단이나 제목을 왼쪽으로 배치합니다. ReportLab에서는 Paragraph 객체의 alignment 매개변수를 사용하여 정렬을 설정할 수 있습니다. 다음은 왼쪽 정렬된 섹션을 생성하는 예제입니다.

from reportlab.platypus import SimpleDocTemplate, Paragraph

def left_aligned_section():
    doc = SimpleDocTemplate("left_aligned_section.pdf")

    # 문단 생성
    section = []
    section.append(Paragraph("<u>왼쪽 정렬된 섹션</u>", style=None, alignment=0))

    doc.build(section)

left_aligned_section()

오른쪽 정렬

오른쪽 정렬은 문단이나 제목을 오른쪽으로 배치합니다. ReportLab에서는 Paragraph 객체의 alignment 매개변수를 사용하여 정렬을 설정할 수 있습니다. 다음은 오른쪽 정렬된 섹션을 생성하는 예제입니다.

from reportlab.platypus import SimpleDocTemplate, Paragraph

def right_aligned_section():
    doc = SimpleDocTemplate("right_aligned_section.pdf")

    # 문단 생성
    section = []
    section.append(Paragraph("<i>오른쪽 정렬된 섹션</i>", style=None, alignment=2))

    doc.build(section)

right_aligned_section()

이제 ReportLab을 사용하여 섹션을 가운데, 왼쪽, 오른쪽으로 정렬하는 방법을 알게 되었습니다. 이를 활용하여 원하는 서식의 PDF 문서를 생성할 수 있습니다.

참고 자료