Python으로 PDF 자동 처리 – 다중 PDF 파일에서 특정 페이지 추출하기
Python으로 PDF 자동 처리 – 다중 PDF 파일에서 특정 페이지 추출하기
PDF 파일은 보고서, 계약서, 청구서 등 다양한 문서 형태로 사용되는 포맷입니다. 하지만 여러 개의 PDF 파일에서 특정 페이지를 반복적으로 추출해야 하는 작업은 매우 번거롭습니다. 이러한 반복 작업은 Python을 사용하면 간단하게 자동화할 수 있습니다.
이번 글에서는 여러 개의 PDF 파일에서 공통된 페이지(예: 첫 페이지 또는 마지막 페이지)만 추출해 새로운 PDF로 저장하는 자동화 스크립트를 만들어보겠습니다.
1. 준비사항
우선 필요한 라이브러리를 설치합니다.
pip install PyPDF2
PDF를 다루기 위해 PyPDF2를 사용할 것입니다. 간단한 페이지 추출과 병합 작업에 유용한 라이브러리입니다.
2. 파일 구조 예시
다음과 같은 폴더 구조를 가정합니다.
/pdf_files/
- report1.pdf
- report2.pdf
- report3.pdf
모든 PDF 파일에서 첫 페이지만 추출해 extracted_pages.pdf
라는 파일로 저장할 예정입니다.
3. 스크립트 코드
다음은 실제 동작하는 예제 코드입니다.
import os
from PyPDF2 import PdfReader, PdfWriter
input_dir = './pdf_files'
output_path = 'extracted_pages.pdf'
writer = PdfWriter()
for filename in os.listdir(input_dir):
if filename.endswith('.pdf'):
file_path = os.path.join(input_dir, filename)
reader = PdfReader(file_path)
if len(reader.pages) > 0:
writer.add_page(reader.pages[0]) # 첫 페이지 추출
with open(output_path, 'wb') as f_out:
writer.write(f_out)
4. 실행 결과
스크립트를 실행하면 pdf_files
폴더에 있는 모든 PDF의 첫 페이지만 모아서 하나의 PDF(extracted_pages.pdf
)로 생성됩니다. 간단히 말해, 다수 문서에서 대표 페이지를 추출해 하나의 요약 파일을 만드는 작업입니다.
5. 응용 팁
reader.pages[-1]
을 사용하면 마지막 페이지를 추출할 수 있습니다.- 조건문을 통해 특정 페이지 수 이상인 PDF만 처리하도록 제어할 수 있습니다.
PdfWriter()
로 추출된 페이지를 개별 파일로 저장하는 것도 가능합니다.
결론
PDF 처리 자동화는 반복적인 문서 작업의 효율을 극대화할 수 있습니다. 특히 특정 페이지만 반복적으로 추출하는 업무가 있다면, 위 스크립트를 활용해 간단히 처리할 수 있습니다. 업무 환경에 맞게 코드를 응용해보시기 바랍니다.
#Python #PDF자동화 #PyPDF2 #파일처리 #문서작업자동화 #페이지추출
'코딩 자동화 & 스크립트' 카테고리의 다른 글
Python으로 엑셀 자동화 – 여러 시트에서 조건에 맞는 데이터 추출하기 (0) | 2025.04.25 |
---|---|
Python으로 프로젝트 세팅 자동화 스크립트 만들기 (폴더+파일+초기세팅) (0) | 2025.04.23 |
Python으로 폴더 구조 자동 생성 스크립트 만들기 (0) | 2025.04.22 |
Python으로 반복 작업 자동화 – 파일 이름 일괄 변경 스크립트 만들기 (0) | 2025.04.21 |
윈도우에서 반복 작업 자동화 – Power Automate Desktop 실전 활용 예시 (0) | 2025.04.17 |