[python] PDF 파일 압축하기

PDF 파일은 대용량이고 용량이 크기 때문에 압축이 필요할 수 있습니다. Python을 사용하면 PDF 파일을 압축하는 간단한 방법이 있습니다. 이번 블로그 포스트에서는 PyPDF2 라이브러리를 사용하여 PDF 파일을 압축하는 방법을 알아보겠습니다.

1. PyPDF2 라이브러리 설치하기

PDF 파일을 압축하기 위해 PyPDF2 라이브러리가 필요합니다. pip를 사용하여 라이브러리를 설치할 수 있습니다.

pip install PyPDF2

2. PDF 파일 압축 코드 작성하기

다음은 PyPDF2 라이브러리를 사용하여 PDF 파일을 압축하는 예제 코드입니다.

import PyPDF2

def compress_pdf(input_path, output_path):
    pdf = PyPDF2.PdfFileReader(input_path)
    writer = PyPDF2.PdfFileWriter()

    for page_num in range(pdf.numPages):
        page = pdf.getPage(page_num)
        page.compressContentStreams()  # 페이지 컨텐츠 압축
        writer.addPage(page)

    with open(output_path, "wb") as output:
        writer.write(output)

# 사용 예시
input_file = "example.pdf"
output_file = "compressed.pdf"
compress_pdf(input_file, output_file)

위 코드에서는 compress_pdf 함수를 정의하고, 입력 경로와 출력 경로를 인자로 받습니다. PDF 파일을 PdfFileReader로 열고, PdfFileWriter를 사용하여 압축된 PDF 파일을 작성합니다. 각 페이지의 컨텐츠를 압축하고, 결과를 출력 파일에 저장합니다.

3. PDF 파일 압축 실행하기

압축할 PDF 파일의 경로와 압축된 파일의 경로를 지정한 후 compress_pdf 함수를 호출하면 PDF 파일이 압축됩니다.

input_file = "example.pdf"
output_file = "compressed.pdf"
compress_pdf(input_file, output_file)

마무리

Python의 PyPDF2 라이브러리를 사용하여 PDF 파일을 압축하는 방법을 알아보았습니다. PDF 파일이 용량이 크거나 네트워크 전송 등에 필요한 경우, 이 방법을 사용하여 파일 크기를 줄일 수 있습니다.