[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 파일에서 이미지를 회전시킵니다. 함수는 다음 매개변수를 받습니다:
pdf_file_path
: 회전시킬 PDF 파일의 경로page_number
: 회전시킬 이미지가 있는 페이지 번호image_index
: 회전시킬 이미지의 인덱스angle
: 회전할 각도
예를 들어, example.pdf
파일의 첫 번째 페이지에 있는 첫 번째 이미지를 90도 회전시키고 싶다면 rotate_image_in_pdf('example.pdf', 1, 0, 90)
와 같이 함수를 호출할 수 있습니다.
이 예제 코드를 활용하여 PDF 파일에서 이미지 유형을 회전시키는 작업을 수행할 수 있습니다.