파이썬(Python)

[Python]파이썬으로 PDF 자르기, 붙이기, 편집하기

끄적끄적아무거나 2022. 4. 2. 11:39
반응형

 

목차

     

     

     

     

     

     

    [Python]파이썬으로 PDF 붙이기

     

    파이썬에서 제공하는 PyPDF2 라이브러리를 사용하면 손쉽게 PDF 편집(Edit)을 할 수 있습니다. 우선 PDF 문서를 붙이는 (Append, Combine, Merge) 방법에 대해 알아 보겠습니다. 

     

    방법은 아래와 같이 간단하게 진행 됩니다. 

     

    1. PdfFileReader 함수로 PDF 문서 페이지 일기
    2. PdfFileWriter 함수로 읽은 문서를 저장 / 쓰기

     

    아래 예제를 통해 구현해보겠습니다.

     

    참고로 예제 구현을 위해 pdf001.pdf 파일과 pdf002.pdf 파일을 만들었고 문서(Document) 내용은 아래와 같습니다. 

    pdf001.pdf
    pdf002.pdf

     

     

    예제 코드>>

    from PyPDF2 import PdfFileReader, PdfFileWriter
    
    pdf_writer = PdfFileWriter()
    
    pdf_files = ['pdf001.pdf', 'pdf002.pdf']
    
    for file in pdf_files:
        pdf_reader = PdfFileReader(file)
        for x in range(pdf_reader.getNumPages()):
            pdf_writer.addPage(pdf_reader.getPage(x))
    
    with open('pdf003.pdf', 'wb') as out:
        pdf_writer.write(out)

    3번 라인: PdfFileWriter 함수를 사용해서 pdf를 쓸 객체를 준비합니다.

    5번 라인: 파일명을 리스트에 넣습니다.

    7~10번 라인: pdf 파일의 페이지를 하나씩 일고 앞서 만든 pdf_writer 객체에 넣습니다.

    12번 라인: pdf003.pdf 파일을 새로 만들고 pdf_writer 객체에 써놓은 페이지 정보를 저장합니다.

     

     

    결과>>

    pdf003.pdf파일이 만들어지고 내용은 아래와 같습니다.

    pdf003.pdf

     

     

     

     

     

     

     

    [Python]파이썬으로 PDF 자르기

     

    pdf 문서 페이지를 자르는 방법(Cut, Remove, Delete)도 쉽습니다. 앞서 붙이는 방법에서 붙일 때 넣고 싶지 않은 페이지를 빼주면 됩니다. 

     

    이번 예제는 앞에 붙이는 방법과 유사하므로 설명은 생략하고 아래 예제 구현으로 설명하겠습니다.

     

    예제에 사용하는 pdf 파일은 pdf 합치기에 사용한 파일을 사용하겠습니다.

     

    예제 코드>>

    from PyPDF2 import PdfFileReader, PdfFileWriter
    
    pdf_writer = PdfFileWriter()
    
    pdf_file = 'pdf001.pdf'
    
    pdf_reader = PdfFileReader(pdf_file)
    for x in range(pdf_reader.getNumPages()-1):
        pdf_writer.addPage(pdf_reader.getPage(x))
    
    with open('pdf003.pdf', 'wb') as out:
        pdf_writer.write(out)

    3번 라인: PdfFileWriter 함수를 사용해서 pdf를 쓸 객체를 준비합니다.

    5번 라인: pdf001.pdf 파일을 편집합니다. (총 2페이지)

    8번 라인: range에서 페이지 범위를 -1 의미는 마지막 페이지를 제거하기 위해서 입니다. 결국 2페이지 중에 한페이지만 남깁니다.

     

     

    결과>>

     

     

     

     

     

    PDF 페이지 편집(Editing)도 결국 위에 코드를 이용해서 원하는 페이지를 붙이거나 자르거나 순서를 바꾸거나 하는 작업입니다. 앞서 코드를 이용해서 각 페이지를 뽑을 수 있었고 저장하는 방법에 대해 알아보았으니 해당 방법을 응용해서 사용하시면 됩니다.

     

     

    반응형