[python] PDF 파일에서 특정 영역 축소하기

PDF 파일에서 특정 영역을 축소하고, 축소된 영역을 새로운 PDF 파일로 저장하는 방법을 설명합니다.

소개

PDF 파일은 다양한 종류의 문서를 전자 형식으로 저장하는데 사용됩니다. 때때로 특정 페이지나 영역을 축소하여 출력이나 공유에 더 적합하게 만들고 싶을 수 있습니다. 이를 위해 Python의 PyPDF2 라이브러리를 사용하여 PDF 파일의 특정 영역을 선택하고 축소할 수 있습니다.

준비물

코드 예제

아래는 PyPDF2를 사용하여 PDF 파일에서 특정 영역을 축소하는 예제입니다.

import PyPDF2

def shrink_pdf_area(input_path, output_path, page_number, x, y, width, height):
    with open(input_path, 'rb') as input_file, open(output_path, 'wb') as output_file:
        pdf_reader = PyPDF2.PdfReader(input_file)
        pdf_writer = PyPDF2.PdfWriter()

        page = pdf_reader.pages[page_number - 1]
        page.cropBox.lowerLeft = (x, y)
        page.cropBox.upperRight = (x + width, y + height)
        pdf_writer.add_page(page)

        pdf_writer.write(output_file)

위의 예제에서 shrink_pdf_area() 함수는 input_path로 지정된 입력 PDF 파일에서 page_number로 지정된 페이지의 x, y, width, height로 지정된 영역을 축소합니다. 그리고 축소된 영역을 output_path로 지정된 새로운 PDF 파일에 저장합니다.

실행 예제

shrink_pdf_area('input.pdf', 'output.pdf', 1, 100, 100, 400, 400)

위의 실행 예제는 input.pdf 파일의 첫 번째 페이지에서 (100, 100) 위치를 좌하단 모서리로 하고, 가로 400, 세로 400 크기의 영역을 축소한 후, output.pdf 파일로 저장합니다.

결론

이번 글에서는 Python으로 PDF 파일에서 특정 영역을 축소하는 방법을 알아보았습니다. 이를 활용하면 PDF 파일의 특정 부분만을 추출하거나 조정하여 더 효과적인 활용이 가능합니다. PyPDF2 라이브러리는 다양한 PDF 조작 작업을 수행할 수 있는 도구이므로, 필요에 따라 다른 작업에도 적용해볼 수 있습니다.

참고 자료