8. Python으로 PDF 자동화하기 — 생성, 병합, 데이터 보고서 만들기 완벽 정리
처음에는 저 역시 PDF 작업을 수동으로 처리하느라 많은 시간을 썼습니다. 파일 병합이나 보고서 생성 같은 번거로운 일들이 많았기 때문인데요. 파이썬 자동화를 도입한 지금은 버튼 한 번으로 모든 작업을 간편하게 끝내고 있습니다
이 글에서는 VS Code 환경에서 Python을 활용하여 PDF를 생성하는 방법부터, 여러 PDF 파일을 자동으로 병합하는 방법, 엑셀 데이터를 PDF 보고서로 만드는 방법, 그리고 실무에서 자주 발생하는 오류 해결 방법까지 단계적으로 알아보겠습니다.
PDF 자동화란 무엇인가 — 반복 업무를 대신 처리하는 디지털 비서
PDF 자동화는 사람이 직접 문서를 만들고 저장하는 대신 Python 코드가 자동으로 처리하도록 만드는 작업입니다.
비유하자면 PDF 자동화는 사무실에 한 명의 보조 직원을 두는 것과 비슷합니다.
사람이 매번 같은 업무를 반복하는 대신, Python이 정해진 규칙에 따라 문서를 생성하고 정리합니다.
실제로 다음과 같은 업무에 활용됩니다.
견적서 자동 생성
거래명세서 자동 생성
보고서 PDF 출력
여러 PDF 파일 병합
PDF 텍스트 추출
계약서 자동 생성
왜 VS Code와 Python PDF 자동화를 함께 사용할까
VS Code는 현재 가장 많이 사용되는 무료 개발 도구 중 하나입니다.
Python과 함께 사용하면 강력한 자동화 환경을 구축할 수 있습니다.
VS Code의 장점
무료 사용 가능
Python 확장 지원
자동 완성 기능 제공
디버깅 기능 지원
Git 연동 가능
Python의 장점
문법이 쉽습니다
라이브러리가 풍부합니다
자동화에 최적화되어 있습니다
데이터 처리와 연동이 쉽습니다
PDF 자동화를 위한 환경 구축하기
Python 설치 확인
터미널에서 아래 명령어를 실행합니다.
python --version
버전이 표시되면 정상 설치된 상태입니다.
VS Code Python 확장 설치
확장 프로그램 메뉴에서 다음을 설치합니다.
Python
Pylance
설치 후 VS Code를 재실행합니다.
PDF 생성 라이브러리 설치하기
Python에서 PDF를 생성할 때 가장 많이 사용하는 라이브러리는 ReportLab입니다.
터미널에서 아래 명령어를 실행합니다.
pip install reportlab
설치가 완료되면 PDF 생성 준비가 끝납니다.

ReportLab으로 PDF 생성하기
가장 기본적인 PDF 생성 예제입니다.
from reportlab.pdfgen import canvas
pdf = canvas.Canvas("report.pdf")
pdf.drawString(100, 750, "Hello PDF Automation")
pdf.save()
print("PDF 생성 완료")
실행하면 프로젝트 폴더에 report.pdf 파일이 생성됩니다.
이것이 모든 PDF 자동화의 시작입니다.
여러 PDF 파일 자동 병합하기
실무에서는 여러 PDF를 하나의 문서로 합치는 경우가 매우 많습니다.
이를 위해 pypdf 라이브러리를 사용합니다.
라이브러리 설치
pip install pypdf
PDF 병합 코드
from pypdf import PdfWriter
merger = PdfWriter()
pdf_files = [
"file1.pdf",
"file2.pdf",
"file3.pdf"
]
for pdf in pdf_files:
merger.append(pdf)
merger.write("merged.pdf")
merger.close()
print("PDF 병합 완료")
실행 후 merged.pdf 파일이 생성됩니다.
pandas와 연동하여 PDF 보고서 만들기
실무에서는 데이터를 PDF로 출력하는 경우가 많습니다.
예를 들어 매출 데이터를 PDF 보고서로 만드는 작업입니다.
pandas 설치
pip install pandas
엑셀 데이터 읽기
import pandas as pd
df = pd.read_excel("sales.xlsx")
print(df.head())
이 데이터를 이용해 PDF 문서를 생성할 수 있습니다.
즉,
엑셀 → Python → PDF
형태로 자동화가 가능합니다.
실전 예제 — 매일 반복되는 보고서 자동 생성
예를 들어 매일 매출 데이터를 정리한다고 가정해보겠습니다.
사람이 직접 처리하면 다음 순서가 필요합니다.
엑셀 열기
데이터 정리
PDF 저장
이메일 전송
하지만 Python 자동화를 적용하면
엑셀 읽기
PDF 생성
자동 저장
까지 한 번에 처리할 수 있습니다.
반복 업무가 많을수록 자동화 효과는 더욱 커집니다.
자주 발생하는 오류와 해결 방법
ModuleNotFoundError
오류 메시지
ModuleNotFoundError
원인
라이브러리가 설치되지 않은 경우입니다.
해결 방법
pip install reportlab
FileNotFoundError
오류 메시지
FileNotFoundError
원인
파일 경로가 잘못된 경우입니다.
해결 방법
import os
base_dir = os.path.dirname(
os.path.abspath(__file__)
)
file_path = os.path.join(
base_dir,
"report.pdf"
)
한글이 깨지는 경우
PDF 생성 시 한글 폰트를 등록하지 않은 경우 발생합니다.
예시
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
pdfmetrics.registerFont(
TTFont("Malgun", "malgun.ttf")
)
실무에서 PDF 자동화가 활용되는 분야
사무직
거래명세서 생성
견적서 출력
월간 보고서 작성
개발자
로그 분석 결과 출력
테스트 결과 리포트 생성
시스템 문서 자동 생성
개인 사용자
가계부 보고서
독서 기록 정리
학습 자료 제작
핵심 요약
✅ VS Code Python PDF 자동화 체크리스트
Python 설치 확인
VS Code Python Extension 설치
ReportLab 설치
PDF 생성 코드 작성
pypdf로 병합 기능 구현
pandas와 연동하여 보고서 자동화
기억해야 할 핵심
PDF 생성은 ReportLab이 가장 많이 사용됩니다.
PDF 병합은 pypdf가 편리합니다.
실무에서는 pandas와 함께 사용하는 경우가 많습니다.
반복 작업일수록 자동화 효과가 커집니다.
VS Code 환경만 구축하면 대부분의 PDF 업무를 자동화할 수 있습니다.
마무리
VS Code와 Python을 활용한 PDF 자동화는 초보자도 비교적 빠르게 실무에 적용할 수 있는 자동화 기술입니다.
처음에는 환경 설정이나 라이브러리 설치가 낯설 수 있지만, 한 번 구축해두면 반복적인 문서 작업을 크게 줄일 수 있습니다.
PDF 자동화의 핵심은 거창한 시스템을 만드는 것이 아니라, 매일 반복되는 작은 업무 하나를 자동화하는 것에서 시작됩니다. 오늘은 PDF 한 장을 생성하는 것부터 시작해 보시기 바랍니다.
댓글
댓글 쓰기