[python] PDF 파일에서 이미지 크기 변경하기

이미지 크기를 변경하는 것은 때로는 PDF 파일에서 필요할 수 있습니다. 예를 들어, 특정 이미지의 크기가 맞지 않거나, 다른 크기로 변경해야 할 경우가 있을 수 있습니다. 이러한 작업을 수행하기 위해 Python에서 PyPDF2 라이브러리를 사용할 수 있습니다.

필요한 라이브러리 설치

먼저, PyPDF2 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.

pip install PyPDF2

이미지 크기 변경 코드

다음은 Python을 사용하여 PDF 파일에서 이미지 크기를 변경하는 예시 코드입니다. 아래 코드는 “input.pdf” 파일을 읽고, 첫 번째 페이지에서 이미지를 추출하여 크기를 변경한 다음, 새로운 크기로 이미지를 삽입한 뒤 “output.pdf” 파일로 저장하는 방법을 보여줍니다.

import PyPDF2
from PyPDF2 import PdfFileWriter, PdfFileReader

# 원하는 이미지 크기로 변경하는 함수
def resize_image(image, new_width, new_height):
    image.Scale(new_width, new_height)
    return image

# PDF 파일 열기
with open('input.pdf', 'rb') as file:
    # PDF 파일 읽기
    reader = PdfFileReader(file)
    writer = PdfFileWriter()
    
    # 첫 번째 페이지의 이미지 추출
    page = reader.getPage(0)
    if '/XObject' in page['/Resources']:
        xobject = page['/Resources']['/XObject'].getObject()
        for obj in xobject:
            if xobject[obj]['/Subtype'] == '/Image':
                # 이미지 크기 변경
                xobject[obj] = resize_image(xobject[obj], new_width, new_height)
    
    # 변경된 이미지를 삽입하여 새로운 PDF 파일 생성
    writer.addPage(page)
    with open('output.pdf', 'wb') as output_file:
        writer.write(output_file)

위의 코드에서 resize_image 함수는 PyPDF2의 ImageXObject 객체의 크기를 변경하기 위해 사용됩니다. 원하는 이미지 크기로 변경하고 싶은 경우, new_widthnew_height 매개변수를 조정하여 이미지 크기를 원하는 대로 설정할 수 있습니다.

이제, 위의 예시 코드를 사용하여 PDF 파일에서 이미지 크기를 변경할 수 있습니다. 필요한 경우, 추가적인 작업을 수행하기 위해 PyPDF2 라이브러리의 문서를 참조하십시오.

참고 자료