[python] ReportLab 속성 설정

ReportLab은 파이썬에서 PDF 문서를 생성하기 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하면 다양한 속성을 설정하여 원하는 형식의 PDF 문서를 만들 수 있습니다. 이번 포스트에서는 ReportLab에서 속성을 설정하는 방법에 대해 알아보겠습니다.

1. 폰트 설정하기

PDF 문서에서 특정 폰트를 사용하려면 해당 폰트 파일을 로드하고 사용할 폰트 객체를 생성해야 합니다. ReportLab은 pdfmetricsttfonts 모듈을 통해 폰트를 관리합니다.

from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont

# 폰트 파일 로드
pdfmetrics.registerFont(TTFont('MyFont', 'path/to/font.ttf'))

# 폰트 객체 생성
font = pdfmetrics.getFont('MyFont')

# 속성 설정
font.setSize(12)
font.setBold(True)

2. 색상 설정하기

문서의 텍스트, 선, 도형 등에 색상을 적용하려면 colors 모듈을 사용해야 합니다.

from reportlab.lib import colors

# RGB 값으로 색상 설정
color = colors.HexColor('#FF0000')

# 속성 설정
color.setAlpha(0.5)

3. 텍스트 스타일 설정하기

텍스트의 스타일을 설정하기 위해서는 styles 모듈의 getSampleStyleSheet 함수를 사용해야 합니다.

from reportlab.lib.styles import getSampleStyleSheet

# 스타일시트 가져오기
styles = getSampleStyleSheet()

# 텍스트 스타일 설정
header_style = styles['Heading1']
header_style.fontSize = 16
header_style.fontName = 'Helvetica-Bold'

4. 문서 속성 설정하기

문서 자체의 속성을 설정하려면 PageProperties를 사용해야 합니다.

from reportlab.platypus import SimpleDocTemplate
from reportlab.lib.pagesizes import letter
from reportlab.lib import pagesizes

# 문서 속성 설정
doc = SimpleDocTemplate('my_document.pdf', pagesize=pagesizes.letter)
doc.topMargin = 20
doc.bottomMargin = 20
doc.leftMargin = 20
doc.rightMargin = 20

이와 같이 ReportLab을 사용하여 속성을 설정하면 원하는 형식의 PDF 문서를 만들 수 있습니다. 보다 자세한 내용은 ReportLab 공식 문서를 참고하시기 바랍니다.