Doarchive

[Python] PyPDF2 로 PDF 문서 병합하기 본문

ETC/Python

[Python] PyPDF2 로 PDF 문서 병합하기

오순발닦개 2023. 6. 20. 00:48

PyPDF2란?

PyPDF2는 Python으로 PDF 파일을 다루기 위한 라이브러리. PDF 파일의 수정, 생성, 병합, 추출 등 다양한 작업가능 

 

 

PyPDF2 공식문서

공식문서가 굉장히 잘 되어있어서  대부분의 기능은 공식 문서만 확인해도 된

https://pypdf2.readthedocs.io/en/3.0.0/

 

Welcome to PyPDF2 — PyPDF2 documentation

© Copyright 2006 - 2008, Mathieu Fenniak. Revision 3214dde1.

pypdf2.readthedocs.io

 

PyPDF2 라이브러리 설치하기

다. 터미널에서 아래의 명령어를 입력해 PyPDF2를 설치

pip install PyPDF2

PyPDF2로 PDF 파일 병합하기

 PyPDF2 패키지를 import

from PyPDF2 import PdfFileMerger

그리고 병합할 PDF 파일들의 경로를 리스트에 담아 Merge함  

이건 공식 Document에 나와있는 Merge 코드임

pdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf']

merger = PdfFileMerger()

for pdf in pdfs:
    merger.append(pdf)

merger.write('merged.pdf')
merger.close()

 

 

 

이건 내가 자주 사용하고 있는 merge코드 

폴더를 지정하고 해당 폴더내에 있는 모든 파일을 merge 하는 방식이다.

 
import os
from PyPDF2 import PdfReader, PdfWriter

# 경로 설정.
path='  ... path ...'

# 해당 경로의 모든 파일 리스트를 가져옵니다.
file_lst = os.listdir(path)
file_lst.sort()

# PdfWriter 객체를 생성.
merger = PdfWriter()

# 각 파일에 대하여
for file in file_lst:
   
    filepath = os.path.join(path, file)

    # 파일을 읽기 모드(rb)로 열고 PdfReader 객체를 생성합니다.
    with open(filepath, "rb") as input:
        pdf_reader = PdfReader(input)

        # pdf를 병합합니다.
        merger.add_page(pdf_reader.pages)

# 병합된 결과를 새로운 pdf 파일로 저장합니다.
with open(os.path.join(path,"output.pdf"), "wb") as output:
    merger.write(output)
 

 

728x90