[python] ReportLab 개요
ReportLab은 파이썬을 기반으로 한 PDF 문서 생성을 위한 라이브러리입니다. 이 라이브러리를 사용하면 파이썬 코드를 통해 동적으로 PDF 문서를 생성하고, 텍스트, 이미지, 표, 차트 등 다양한 요소를 추가할 수 있습니다.
ReportLab의 기능
ReportLab은 다음과 같은 주요 기능을 제공합니다:
- PDF 문서 생성: ReportLab을 사용하면 파이썬 코드로 PDF 문서를 생성할 수 있습니다. 문서의 크기와 형식을 지정하고, 여러 페이지로 구성할 수도 있습니다.
- 텍스트 추가: 텍스트 요소를 원하는 위치에 추가할 수 있습니다. 폰트, 크기, 스타일 등을 지정하여 다양한 디자인을 적용할 수 있습니다.
- 이미지 추가: 이미지 파일을 불러와 PDF 문서에 삽입할 수 있습니다. 크기를 조정하거나 회전시킬 수도 있습니다.
- 표 추가: 테이블 요소를 생성하여 PDF 문서에 추가할 수 있습니다. 제목 행, 데이터 행, 스타일 등을 지정하여 다양한 형식의 표를 만들 수 있습니다.
- 차트 추가: 다양한 종류의 차트를 생성하여 PDF 문서에 추가할 수 있습니다. 선 그래프, 막대 그래프, 원 그래프 등을 지원합니다.
ReportLab 사용 예제
다음은 ReportLab을 사용하여 간단한 PDF 문서를 생성하는 예제 코드입니다:
from reportlab.pdfgen import canvas
# PDF 문서 생성
pdf = canvas.Canvas("example.pdf")
# 텍스트 추가
pdf.setFont("Helvetica", 12)
pdf.drawString(100, 700, "Hello, ReportLab!")
# 이미지 추가
pdf.drawInlineImage("image.jpg", 100, 600, width=200, height=150)
# 표 추가
data = [["Name", "Age", "Country"],
["John", "25", "USA"],
["Emily", "29", "Canada"],
["David", "20", "UK"]]
pdf.table(data, colWidths=[100, 50, 100])
# 차트 추가
chart_data = {"A": 30, "B": 40, "C": 20, "D": 10}
pdf.drawPieChart([(key, value) for key, value in chart_data.items()], 200, 300)
# PDF 문서 저장
pdf.save()
위 코드를 실행하면 “example.pdf”라는 이름의 PDF 문서가 생성됩니다. 문서에는 텍스트, 이미지, 표, 차트 등이 포함되어 있습니다.