[python] ReportLab 개요

ReportLab은 파이썬을 기반으로 한 PDF 문서 생성을 위한 라이브러리입니다. 이 라이브러리를 사용하면 파이썬 코드를 통해 동적으로 PDF 문서를 생성하고, 텍스트, 이미지, 표, 차트 등 다양한 요소를 추가할 수 있습니다.

ReportLab의 기능

ReportLab은 다음과 같은 주요 기능을 제공합니다:

  1. PDF 문서 생성: ReportLab을 사용하면 파이썬 코드로 PDF 문서를 생성할 수 있습니다. 문서의 크기와 형식을 지정하고, 여러 페이지로 구성할 수도 있습니다.
  2. 텍스트 추가: 텍스트 요소를 원하는 위치에 추가할 수 있습니다. 폰트, 크기, 스타일 등을 지정하여 다양한 디자인을 적용할 수 있습니다.
  3. 이미지 추가: 이미지 파일을 불러와 PDF 문서에 삽입할 수 있습니다. 크기를 조정하거나 회전시킬 수도 있습니다.
  4. 표 추가: 테이블 요소를 생성하여 PDF 문서에 추가할 수 있습니다. 제목 행, 데이터 행, 스타일 등을 지정하여 다양한 형식의 표를 만들 수 있습니다.
  5. 차트 추가: 다양한 종류의 차트를 생성하여 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 문서가 생성됩니다. 문서에는 텍스트, 이미지, 표, 차트 등이 포함되어 있습니다.

참고 자료