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

PDF 파일은 여러 페이지로 이루어져 있고, 각 페이지에는 텍스트, 이미지, 도형 등 다양한 유형의 요소가 포함되어 있을 수 있습니다. 때때로 PDF 파일에서 특정 이미지를 회전해야 할 경우가 있습니다.

Python에서는 여러 라이브러리를 사용하여 PDF 파일을 조작할 수 있습니다. 이 중에서도 PyPDF2 라이브러리는 PDF 파일을 읽고 쓰기 위한 다양한 기능을 제공합니다. 이를 활용하여 PDF 파일에서 이미지를 회전시킬 수 있습니다.

아래는 Python에서 PDF 파일에서 이미지를 회전시키는 예제 코드입니다.

import PyPDF2

def rotate_image_in_pdf(pdf_file_path, page_number, image_index, angle):
    with open(pdf_file_path, 'rb') as file:
        pdf_reader = PyPDF2.PdfReader(file)
        pdf_writer = PyPDF2.PdfWriter()

        page = pdf_reader.pages[page_number - 1]
        page_content = page.extract_text()

        if '/XObject' not in page_content:
            print("No image found on the specified page")
            return

        x_objects = page['/XObject'].getObject()

        if '/Image' not in x_objects[image_index]:
            print("No image found at the specified index")
            return

        # 회전할 이미지 선택
        image = x_objects[image_index]['/Image'].getObject()
        image.Rotate = angle

        # 변경된 이미지를 쓰기 객체에 추가
        pdf_writer.add_page(page)
        pdf_writer.add_object(image)

        # 새로운 PDF 파일 생성
        with open("rotated_image.pdf", 'wb') as output_file:
            pdf_writer.write(output_file)

# 사용 예시
rotate_image_in_pdf('example.pdf', 1, 0, 90)

위의 예제 코드에서는 rotate_image_in_pdf 함수를 정의하여 PDF 파일에서 이미지를 회전시킵니다. 함수는 다음 매개변수를 받습니다:

예를 들어, example.pdf 파일의 첫 번째 페이지에 있는 첫 번째 이미지를 90도 회전시키고 싶다면 rotate_image_in_pdf('example.pdf', 1, 0, 90)와 같이 함수를 호출할 수 있습니다.

이 예제 코드를 활용하여 PDF 파일에서 이미지 유형을 회전시키는 작업을 수행할 수 있습니다.


참고 자료