[python] ReportLab 커스텀 폰트 사용

ReportLab은 Python으로 PDF를 생성하는 라이브러리입니다. 기본적으로 제공되는 폰트를 사용하여 PDF를 생성할 수 있지만, 때로는 커스텀 폰트를 사용해야 하는 경우가 있습니다. 이 글에서는 ReportLab에서 커스텀 폰트를 사용하는 방법을 알아보겠습니다.

1. 커스텀 폰트 준비

먼저, ReportLab에서 사용할 커스텀 폰트를 준비해야 합니다. TrueType(.ttf) 또는 OpenType(.otf) 형식의 폰트 파일을 사용할 수 있습니다. 원하는 폰트 파일을 다운로드하고 저장하세요.

2. 폰트 등록

ReportLab에서는 ‘pdfmetrics’ 모듈을 사용하여 폰트를 등록합니다. 커스텀 폰트를 사용하기 위해 아래의 코드를 작성합니다.

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

# 폰트 파일 경로
font_path = '폰트파일.ttf'

# 폰트 등록
pdfmetrics.registerFont(TTFont('FontName', font_path))

위 코드에서 폰트파일.ttf를 본인이 다운로드한 폰트 파일 경로로 변경해주고, FontName은 원하는 폰트 이름으로 변경해야 합니다.

3. 폰트 사용

폰트가 등록되었으니 이제 ReportLab에서 해당 폰트를 사용할 수 있습니다. 아래의 예시 코드는 PDF에 텍스트를 작성하는 예시입니다.

from reportlab.pdfgen import canvas

# PDF 생성
c = canvas.Canvas('example.pdf')

# 폰트 설정
c.setFont('FontName', 12)

# 텍스트 작성
c.drawString(100, 100, "안녕하세요, 커스텀 폰트입니다.")

# PDF 저장
c.save()

setFont 메소드를 사용하여 앞서 등록한 폰트를 설정하고, drawString 메소드로 텍스트를 작성합니다. 최종적으로, save 메소드를 호출하여 PDF를 저장합니다.

마무리

이제 ReportLab에서 커스텀 폰트를 사용하는 방법을 알게 되었습니다. 실제로 사용하려는 폰트 파일을 다운로드하여 폰트를 등록하고, 원하는 대로 텍스트를 작성하면 됩니다. 자세한 내용은 ReportLab 공식 문서를 참고하세요.