[python] PDF 파일에서 특정 페이지 삭제하기

PDF 파일은 문서를 전자적으로 저장하는 파일 형식으로 많이 사용됩니다. 때때로 PDF 파일에서 특정 페이지를 삭제해야 할 때가 있습니다. 이번 포스트에서는 Python을 사용하여 PDF 파일에서 특정 페이지를 삭제하는 방법에 대해 알아보겠습니다.

필요한 라이브러리 설치

PDF 파일을 다루기 위해 PyPDF2 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 PyPDF2를 설치합니다.

pip install PyPDF2

PDF 파일 열기

먼저 PyPDF2 라이브러리를 임포트하고 삭제하려는 페이지의 인덱스를 지정합니다. 예를 들어, 첫 번째 페이지를 삭제하려는 경우 인덱스는 0입니다.

import PyPDF2

pdf_path = "example.pdf"
page_index = 0

pdf_file = open(pdf_path, 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)

페이지 삭제

다음으로, 해당 페이지를 삭제하고 새로운 PDF 파일을 생성합니다.

pdf_writer = PyPDF2.PdfFileWriter()

for page_num in range(pdf_reader.numPages):
    if page_num != page_index:
        page = pdf_reader.getPage(page_num)
        pdf_writer.addPage(page)

new_pdf_path = "new_example.pdf"
new_pdf_file = open(new_pdf_path, 'wb')
pdf_writer.write(new_pdf_file)
new_pdf_file.close()

위의 코드를 실행하면 new_example.pdf라는 새로운 PDF 파일이 생성되며, 지정한 페이지가 삭제됩니다.

예외 처리

만약 삭제하려는 페이지의 인덱스가 올바르지 않은 경우 예외 처리를 할 수 있습니다.

if page_index >= pdf_reader.numPages:
    print("Invalid page index.")
    # 예외 처리 로직 추가

결론

Python을 사용하여 PDF 파일에서 특정 페이지를 삭제하는 방법을 알아보았습니다. PyPDF2 라이브러리를 사용하면 간단한 코드로 PDF 파일을 다룰 수 있습니다. PDF 파일을 다루는 다른 작업도 PyPDF2를 사용하여 수행할 수 있습니다.

참고 자료