[python] ReportLab 그리드 추가

ReportLab은 Python에서 PDF 문서를 생성하기 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하면 다양한 요소를 추가하여 보고서를 꾸밀 수 있습니다. 이번에는 ReportLab을 사용하여 그리드를 추가하는 방법에 대해 알아보겠습니다.

1. ReportLab 설치

ReportLab을 사용하기 위해서는 먼저 설치해야 합니다. 아래의 명령어를 사용하여 ReportLab을 설치하세요.

pip install reportlab

2. 그리드 생성하기

그리드를 생성하기 위해 ReportLab의 grid 모듈을 import 해야 합니다. 다음과 같이 코드를 작성하여 그리드를 추가할 수 있습니다.

from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, TableStyle
from reportlab.lib import colors
from reportlab.platypus import Table

# PDF 문서 생성을 위한 설정값
doc = SimpleDocTemplate("report.pdf", pagesize=letter)
elements = []

# 그리드의 데이터 설정
data = [['이름', '나이', '직업'],
        ['홍길동', '30', '개발자'],
        ['김철수', '28', '디자이너'],
        ['박영희', '35', '마케터']]

# 그리드 스타일 설정
table_style = TableStyle([('BACKGROUND', (0,0), (-1,0), colors.grey),
                         ('TEXTCOLOR',(0,0),(-1,0),colors.whitesmoke),
                         ('ALIGN', (0,0), (-1,-1), 'CENTER'),
                         ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
                         ('FONTSIZE', (0,0), (-1,0), 14),
                         ('BOTTOMPADDING', (0,0), (-1,0), 12),
                         ('BACKGROUND', (0,1), (-1,-1), colors.beige),
                         ('TEXTCOLOR',(0,1),(-1,-1),colors.black),
                         ('ALIGN', (0,1), (-1,-1), 'CENTER'),
                         ('FONTNAME', (0,1), (-1,-1), 'Helvetica'),
                         ('FONTSIZE', (0,1), (-1,-1), 12),
                         ('BOTTOMPADDING', (0,1), (-1,-1), 12),
                         ('BACKGROUND', (0,0), (-1,0), colors.grey),
                         ('GRID', (0,0), (-1,-1), 1, colors.black)])

# 그리드 생성
table = Table(data)
table.setStyle(table_style)
elements.append(table)

# PDF 문서 생성
doc.build(elements)

위의 코드에서 data는 그리드에 표시할 데이터를 나타냅니다. table_style은 그리드의 스타일을 설정하는 부분으로, 행의 색상, 폰트 스타일, 정렬 등을 지정할 수 있습니다.

3. 실행 결과

위의 코드를 실행하면 report.pdf라는 이름의 PDF 파일이 생성됩니다. 파일을 열어보면 데이터가 포함된 그리드가 보여집니다.

grid-example

4. 참고 자료

이것으로 ReportLab을 사용하여 그리드를 추가하는 방법을 알아보았습니다. ReportLab의 강력한 기능을 활용하여 다양한 문서를 생성할 수 있습니다. 추가적인 기능과 사용법은 공식 문서와 예제 코드를 참고하시기 바랍니다.