상세 컨텐츠

본문 제목

python을 이용한 pdf 분할 [PyPDF2]

머신러닝/함수, 라이브러리

by byoelcardi 2023. 7. 12. 17:56

본문

가끔 pdf 분할이 필요할 때가 있습니다. 온라인 웹페이지에 관련된 사이트들이 많지만 그런 페이지들은 정보에 대한 유출이 걱정됩니다. 그럴 때 파이썬을 이용하여 간단하게 코드를 실행하면 pdf분할이 가능합니다.

사용할 라이브러리는 PyPDF2라는 라이브러리입니다.

import PyPDF2

def split_pdf(file, directory_to_save):
    pdf = PyPDF2.PdfReader(file)
    for page in range(len(pdf.pages)):
        pdf_writer = PyPDF2.PdfWriter()
        pdf_writer.add_page(pdf.pages[page])

        output_filename = f"{directory_to_save}/page_{page+1}.pdf"

        with open(output_filename, "wb") as output_pdf:
            pdf_writer.write(output_pdf)

split_pdf("input.pdf", "output")

여기서 input.pdf에는 분리하고자 하는 pdf를 넣어주시고 output에는 결과를 보낼 폴더 이름을 적어주시면 됩니다.

그 결과 output폴더에 페이지에 맞춰서 작성됩니다.

 

Q. 왜 page+1로 변수 설정을 했나요?

A. 해당 라이브러리는 0부터 시작하기 때문에 맞춰서 라벨링을 하기 위해서 page+1로 작성했습니다. 

 

Q. 버전 상관 없나요?

A. 가장 최신 버전으로 설치해 주세요 PyPDF2의 경우 작성일 기준 3.0.1이 가장 최신 버전입니다. 2.12.0과 같이 2 버전 들은 함수의 선언이 다릅니다. 함수를 바꿔주시면 되지만 가장 최신버전이나 3.0.0 버전을 추천드립니다.

관련글 더보기