안녕하세요, 개발자 여러분! 오늘은 파이썬을 사용해서 자동으로 PDF를 생성하는 방법을 다뤄보려고 합니다. 업무나 개인 프로젝트에서 한 번쯤은 PDF 파일을 프로그램적으로 생성해야 할 때가 있죠? 이 글을 통해 여러분이 쉽게 PDF를 생성할 수 있도록 도와드리겠습니다. 자, 그럼 시작해볼까요?

파이썬 PDF 라이브러리 선택하기

첫걸음은 적합한 라이브러리를 선택하는 겁니다. 파이썬에서 PDF를 생성하는 데는 여러 라이브러리가 있지만, 저는 reportlab을 추천드립니다. 왜냐하면 reportlab은 강력하고 유연하기 때문이죠. 이제 reportlab을 사용해 기본적인 PDF를 생성해보겠습니다.

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

def create_pdf(filename):
    c = canvas.Canvas(filename, pagesize=letter)
    width, height = letter
    c.drawString(100, height - 100, "Hello, PDF World!")
    c.save()

create_pdf("sample.pdf")

위 코드를 실행하면 간단한 “Hello, PDF World!”라는 텍스트가 들어간 PDF 파일이 생성됩니다. 정말 간단하죠?

PDF에 스타일 추가하기

기본적인 PDF 생성 방법을 배웠으니, 이제는 PDF에 스타일을 추가해볼까요? 글꼴, 색상, 이미지 등을 추가하면 더욱 멋진 PDF를 만들 수 있습니다.

글꼴과 색상

reportlab에서는 다양한 글꼴과 색상을 쉽게 사용할 수 있습니다. 다음은 텍스트의 크기와 색상을 변경하는 예제입니다.

def create_styled_pdf(filename):
    c = canvas.Canvas(filename, pagesize=letter)
    c.setFont("Helvetica-Bold", 16)
    c.setFillColorRGB(0, 0.6, 0.8)
    c.drawString(100, 700, "Styled PDF Document")
    c.save()

create_styled_pdf("styled_sample.pdf")

이미지 추가

이미지를 추가하는 것도 매우 쉽습니다. 회사 로고나 다른 이미지를 삽입할 수 있죠.

def create_pdf_with_image(filename, image_path):
    c = canvas.Canvas(filename, pagesize=letter)
    c.drawImage(image_path, 100, 500, width=200, height=100)
    c.save()

create_pdf_with_image("pdf_with_image.pdf", "logo.png")

결론

파이썬으로 PDF를 생성하는 것은 생각보다 간단합니다. reportlab 라이브러리를 사용하면 텍스트, 스타일, 이미지 등을 손쉽게 추가할 수 있어요. 업무에서 반복적으로 PDF를 생성해야 한다면, 이런 자동화 기법을 활용해서 삶을 조금 더 편하게 만들어보세요. 다양한 기능을 활용해 멋진 PDF 문서를 만들어 보시길 바랍니다. 그럼 다음 글에서 만나요!