[python] ReportLab 폰트 설정

ReportLab은 파이썬에서 PDF 문서를 생성하기 위한 라이브러리입니다. 이 라이브러리를 사용하면 텍스트 콘텐츠를 PDF 문서로 변환할 수 있습니다. ReportLab을 사용하여 한글 폰트를 설정하는 방법에 대해 알아보겠습니다.

폰트 설치

ReportLab의 폰트 설정을 위해서는 먼저 원하는 한글 폰트를 설치해야 합니다. 여기서는 나눔고딕 폰트를 예시로 설치하는 방법을 설명하겠습니다.

  1. 나눔고딕 폰트를 다운로드합니다.
    • 네이버 나눔글꼴 등에서 다운로드 가능합니다.
    • 다운로드한 파일은 .ttf 형식일 것입니다.
  2. 다운로드한 폰트 파일을 ReportLab 폰트 디렉터리에 저장합니다.
    • 일반적으로 ~/Library/Fonts/ 디렉터리이지만, 사용하는 운영체제에 따라 다를 수 있습니다.

폰트 설정 방법

폰트를 설정하기 위해 reportlab 라이브러리의 pdfmetricsttfonts 모듈을 사용합니다. 아래의 코드를 참고하여 폰트를 설정하는 방법을 확인해보세요.

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

# 폰트 경로 설정
font_path = '/Users/{사용자 이름}/Library/Fonts/NanumGothic.ttf'

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

폰트 경로를 적절히 설정한 후, pdfmetrics.registerFont() 메서드를 사용하여 폰트를 등록합니다.

폰트 적용

폰트를 등록한 후에는 생성한 PDF 문서에 폰트를 적용할 수 있습니다. 아래의 코드를 참고하여 폰트를 적용하는 방법을 확인해보세요.

from reportlab.pdfgen import canvas

# PDF 문서 생성
pdf_path = 'output.pdf'
c = canvas.Canvas(pdf_path)

# 폰트 설정
c.setFont('NanumGothic', 12)  # 폰트 이름과 크기를 지정

# 텍스트 추가
c.drawString(100, 100, '안녕하세요, ReportLab입니다.')

# PDF 저장
c.save()

setFont() 메서드를 사용하여 폰트의 이름과 크기를 설정한 후, drawString() 메서드를 사용하여 텍스트를 추가합니다.

이제 폰트가 지정된 텍스트가 포함된 PDF 문서를 생성할 수 있습니다.

결론

이제 ReportLab을 사용하여 한글 폰트를 설정하는 방법을 알게 되었습니다. 원하는 한글 폰트를 설치하고, 폰트를 등록한 후에는 텍스트에 해당 폰트를 적용하여 원하는 모양의 PDF 문서를 만들 수 있습니다. ReportLab을 사용하는 과정에서 발생하는 문제가 있다면 공식 문서를 참고하는 것을 추천합니다.