Python fpdf 라이브러리로 PDF 문서 자동 생성하기
현대의 정보 사회에서 데이터와 문서 관리가 매우 중요해졌습니다. 특히 반복적인 문서 생성을 자동화하는 것은 많은 기업과 개인에게 시간과 비용을 절약할 수 있는 방법이 됩니다. 이 글에서는 Python의 fpdf 라이브러리를 사용하여 PDF 문서를 자동으로 생성하는 방법에 대해 설명하겠습니다. 이 글은 Python과 프로그래밍에 익숙하지 않은 초보자를 위해 작성되었습니다.
목차
fpdf란?
fpdf는 Python으로 PDF 문서를 생성할 수 있는 간단하고 유연한 라이브러리입니다. fpdf는 'Free PDF'의 약자로, 무료로 사용할 수 있으며, 다양한 플랫폼에서 호환됩니다. 이 라이브러리를 사용하면 복잡한 코딩 없이도 쉽게 PDF 문서를 작성할 수 있습니다. fpdf가 제공하는 주요 기능은 다음과 같습니다.
- 텍스트 추가
- 이미지 삽입
- 테이블 생성
- 페이지 설정 및 조정
- 폰트 및 스타일 설정
fpdf 라이브러리 설치하기
fpdf 라이브러리를 사용하기 위해서는 먼저 설치를 해야 합니다. Python을 사용할 수 있는 환경이 준비되어 있다면, 아래의 간단한 방법으로 설치할 수 있습니다.
pip install fpdf
위의 명령어를 터미널이나 명령 프롬프트에서 실행하면 fpdf 라이브러리가 설치됩니다. 설치가 완료되면, Python 코드를 작성할 준비가 된 것입니다.
fpdf 기본적인 사용법
fpdf를 사용하여 PDF 문서를 만들기 위해서는 먼저 fpdf 모듈을 임포트해야 합니다. 그 다음, PDF 객체를 생성하고 페이지를 추가한 후, 원하는 내용을 추가하는 방식으로 이루어집니다. 여기서는 기본적인 사용법을 단계별로 설명하겠습니다.
1. PDF 객체 생성하기
PDF 문서를 생성하기 위해 먼저 PDF 객체를 생성합니다. 다음과 같은 코드를 사용하여 객체를 생성할 수 있습니다.
from fpdf import FPDF
pdf = FPDF()
pdf.add_page()
2. 폰트 설정하기
PFD 문서에 사용할 폰트를 설정하는 방법은 다음과 같습니다. 기본 제공 폰트를 사용할 수 있으며, 추가적인 폰트도 설정할 수 있습니다.
pdf.set_font("Arial", size=12)
3. 텍스트 추가하기
문서에 텍스트를 추가하려면, 다음 코드를 사용할 수 있습니다. 텍스트의 위치는 x, y 좌표로 지정합니다.
pdf.cell(200, 10, txt="Hello World!", ln=True, align='C')
4. PDF 저장하기
문서 작성을 마친 후, 아래의 방법으로 PDF 파일로 저장할 수 있습니다.
pdf.output("document.pdf")
PDF 문서 생성 예제
이제 실제로 PDF 문서를 생성하는 코드를 작성해 보겠습니다. 아래 코드는 간단한 인사말과 제목, 물론 이미지도 포함된 PDF 문서를 생성합니다.
from fpdf import FPDF
PDF 객체 생성
pdf = FPDF()
pdf.add_page()
폰트 설정
pdf.set_font("Arial", size=12)
제목 추가
pdf.cell(200, 10, txt="안녕하세요, FPDF 라이브러리!", ln=True, align='C')
텍스트 추가
pdf.cell(200, 10, txt="이 문서는 FPDF를 사용하여 자동으로 생성되었습니다.", ln=True, align='C')
PDF 파일로 저장
pdf.output("example.pdf")
위의 코드를 실행하면 example.pdf라는 이름의 PDF 파일이 생성됩니다. 이 파일을 열어보면, “안녕하세요, FPDF 라이브러리!”라는 제목과 간단한 문구가 포함된 문서를 확인할 수 있습니다.
유용한 기능들
fpdf 라이브러리는 기본적인 텍스트 추가 이외에도 다양한 유용한 기능을 제공하므로, 이 부분에 대해 자세히 설명하겠습니다.
1. 이미지 추가하기
PDF 문서에 이미지를 추가하려면 image() 메서드를 사용합니다. 이 메서드는 이미지의 경로, 위치 및 크기를 지정할 수 있습니다.
pdf.image('pathtoimage.jpg', x=10, y=8, w=100)
2. 테이블 생성하기
fpdf로 테이블을 만들려면 여러 개의 cell() 메서드를 사용하여 셀들을 나열해야 합니다. 아래는 기본 테이블을 만드는 간단한 예입니다.
header = ['이름', '나이', '직업']
data = [
['홍길동', '30', '개발자'],
['김영희', '25', '디자이너'],
]
헤더 추가
for col in header:
pdf.cell(40, 10, col, 1)
pdf.ln()
데이터 추가
for row in data:
for item in row:
pdf.cell(40, 10, item, 1)
pdf.ln()
3. 다양한 폰트 설정
폰트는 다양한 스타일로 설정할 수 있으며, 아래의 코드와 같이 굵기와 기울임을 조절할 수 있습니다.
pdf.set_font("Arial", "B", 16)
Bold
pdf.cell(200, 10, txt="굵은 제목", ln=True)
pdf.set_font("Arial", "I", 12)
Italic
pdf.cell(200, 10, txt="기울인 문구", ln=True)
결론
Python의 fpdf 라이브러리를 사용하여 PDF 문서를 자동으로 생성하는 방법에 대해 살펴보았습니다. 이 라이브러리는 간단한 코드로 다양한 기능을 사용할 수 있어 매우 유용합니다. 복잡한 문서 작업을 자동화하고, 반복적인 작업에서 벗어나 보다 창의적인 작업에 집중할 수 있는 기회를 제공합니다.
앞으로 더 많은 기능과 활용법을 배우고, 다양한 프로젝트에 적용해 보시기 바랍니다. PDF 문서 생성의 자동화는 여러분의 업무 효율성을 크게 향상시킬 것입니다. 감사합니다.





