안녕하세요, 개발자 여러분! 오늘은 여러분과 함께 파이썬으로 PDF 파일을 자동 생성하는 방법을 다뤄보려고 해요. PDF 자동 생성은 보고서나 인보이스, 혹은 다양한 문서 작업에서 시간을 절약해주는 유용한 기술이죠. 이 글에서는 실질적인 코드 예시와 함께 알아볼 테니, 함께 따라와 주세요!
PDF 생성 준비하기
PDF 파일을 생성할 때, 파이썬의 reportlab
라이브러리를 사용할 거예요. 우선, reportlab
을 설치해야겠죠? 터미널이나 커맨드 라인에서 아래 명령어를 입력해 주세요.
pip install reportlab
reportlab
은 PDF 문서를 생성할 때 가장 널리 사용되는 라이브러리 중 하나로, 다양한 기능을 제공해줍니다.
기본 PDF 파일 생성
라이브러리를 설치했으니 이제 간단한 PDF 파일을 생성해볼까요? 다음 코드를 보세요:
from reportlab.lib.pagesizes import LETTER
from reportlab.pdfgen import canvas
def create_simple_pdf(filename):
c = canvas.Canvas(filename, pagesize=LETTER)
c.drawString(72, 720, "안녕하세요, 이것은 PDF 테스트입니다!")
c.save()
create_simple_pdf("example.pdf")
위 코드를 실행하면 “example.pdf”라는 파일이 생성되며, 그 안에는 “안녕하세요, 이것은 PDF 테스트입니다!”라는 문구가 들어가 있을 거예요. drawString
함수는 텍스트를 특정 좌표에 표시하도록 도와줍니다.
더 나아가기: 스타일링과 이미지 추가
PDF 파일이 좀 더 멋지게 보이도록 스타일을 추가해볼까요? reportlab
은 폰트 스타일과 사이즈, 그리고 이미지를 추가할 수 있는 기능도 제공해줍니다.
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Image
def create_stylish_pdf(filename):
doc = SimpleDocTemplate(filename, pagesize=A4)
styles = getSampleStyleSheet()
story = []
# 타이틀
title = "파이썬으로 PDF 만들기"
story.append(Paragraph(title, styles['Title']))
story.append(Spacer(1, 12))
# 본문
content = "이제 PDF에 스타일과 이미지를 추가해봅시다!"
story.append(Paragraph(content, styles['BodyText']))
story.append(Spacer(1, 12))
# 이미지 추가
image_path = "path/to/your/image.png"
try:
img = Image(image_path, width=200, height=100)
story.append(img)
except FileNotFoundError:
story.append(Paragraph("이미지를 찾을 수 없습니다.", styles['BodyText']))
doc.build(story)
create_stylish_pdf("stylish_example.pdf")
이 코드에서는 SimpleDocTemplate
을 사용해 좀 더 복잡한 문서를 생성했어요. 스타일을 적용한 타이틀, 본문, 그리고 이미지를 추가했죠. getSampleStyleSheet
를 사용해 빠르게 스타일을 가져올 수 있어요. 이미지 경로는 각자에 맞게 설정해 주세요!
결론
이제 파이썬을 사용해 PDF 파일을 쉽게 생성하고, 스타일을 추가하는 방법을 알게 되셨네요. reportlab
라이브러리를 활용하면 다양한 문서 자동화를 수행할 수 있으니, 여러분의 프로젝트에 적용해 보세요. 다음에는 더욱 흥미로운 주제로 돌아오겠습니다. 그때까지 해피 코딩하세요!