[python] PDF 파일에서 이미지 유형 이동하기

PDF 파일에서 이미지를 추출하고 이동시키는 것은 많은 상황에서 유용합니다. 이 글에서는 Python을 사용하여 PDF 파일에서 이미지를 추출하고 해당 이미지를 다른 디렉토리로 이동시키는 방법을 알아보겠습니다.

필요한 패키지 설치

먼저, PyPDF2Pillow 패키지를 설치해야 합니다. 아래의 명령어를 사용하여 패키지를 설치합니다.

pip install PyPDF2 Pillow

코드 작성

아래의 코드는 PDF 파일에서 이미지를 추출하고 이동시키는 기능을 구현한 예제입니다.

import os
from PyPDF2 import PdfFileReader
from PIL import Image

def extract_images_from_pdf(pdf_path, output_dir):
    pdf = PdfFileReader(pdf_path)
    
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    
    for page_num in range(pdf.getNumPages()):
        page = pdf.getPage(page_num)
        xObjects = page['/Resources']['/XObject'].getObject()
        
        for obj in xObjects:
            if xObjects[obj]['/Subtype'] == '/Image':
                image_data = xObjects[obj].getData()
                image = Image.frombytes("RGB", (xObjects[obj]['/Width'], xObjects[obj]['/Height']), image_data)
                image_path = os.path.join(output_dir, f"image_{page_num}_{obj[1:]}.png")
                image.save(image_path)

if __name__ == "__main__":
    pdf_path = "example.pdf"
    output_dir = "images"
    extract_images_from_pdf(pdf_path, output_dir)

코드 설명

위의 코드에서 extract_images_from_pdf 함수는 PDF 파일에서 이미지를 추출하고 지정된 디렉토리로 이미지를 저장하는 기능을 구현합니다.

  1. PdfFileReader 클래스를 사용하여 PDF 파일을 엽니다.
  2. 지정된 디렉토리가 없는 경우, 새로운 디렉토리를 생성합니다.
  3. 각 페이지의 리소스에서 이미지 객체를 추출합니다.
  4. 이미지 객체를 PNG 형식으로 변환하고, 지정된 디렉토리에 저장합니다.

실행 예제

위의 코드를 실행하면 현재 디렉토리에 images라는 디렉토리가 생성되고 해당 디렉토리에 추출한 이미지가 저장됩니다.

참고: 위의 코드는 PDF 파일에서 이미지를 추출하는 단순한 예제입니다. PDF 파일에 따라 다른 방식으로 이미지가 저장되고 필요한 경우 추가 조작이 필요할 수 있습니다.

이 글이 유용하길 바랍니다. 추가적인 질문이나 의견이 있으면 언제든지 댓글을 남겨주세요.