Python을 사용하여 PDF 파일을 압축하는 방법 | IronPDF

파이썬으로 PDF 파일을 압축하는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF의 CompressImages 메서드를 사용하면 Python 개발자는 사용자 지정 품질 설정으로 이미지를 압축하여 PDF 파일 크기를 줄일 수 있으므로 저장 공간을 최적화하고 가독성을 희생하지 않고 문서 공유 효율성을 향상시킬 수 있습니다.

빠른 시작: Python으로 PDF 파일 압축

:title=quickstart
from ironpdf import PdfDocument

# 1. Install IronPDF: pip install ironpdf
# 2. Load your PDF
pdf = PdfDocument("your-file.pdf")
# 3. Compress images (quality: 1-100)
pdf.CompressImages(60)
# 4. Save compressed PDF
pdf.SaveAs("compressed.pdf")
# 5. Adjust quality parameter to balance size vs quality
:title=quickstart
from ironpdf import PdfDocument

# 1. Install IronPDF: pip install ironpdf
# 2. Load your PDF
pdf = PdfDocument("your-file.pdf")
# 3. Compress images (quality: 1-100)
pdf.CompressImages(60)
# 4. Save compressed PDF
pdf.SaveAs("compressed.pdf")
# 5. Adjust quality parameter to balance size vs quality
PYTHON

PDF 파일은 문서 저장 및 공유에 널리 사용되지만, 파일 크기가 커서 다루기 불편할 수 있습니다. 이로 인해 PDF 문서를 공유하거나 업로드할 때, 그리고 저장 공간을 효율적으로 관리할 때 어려움이 발생합니다. 이러한 문제를 해결하기 위해 PDF 압축 기술을 활용하여 PDF 파일 크기를 줄일 수 있습니다.

이 가이드에서는 IronPDF를 사용하여 PDF 파일을 효과적으로 압축하는 방법을 설명합니다. 본 강의에서는 여러분의 프로젝트에 바로 적용하여 PDF 파일을 효율적으로 압축하고 크기를 최적화할 수 있는 실용적인 코드 예제를 제시합니다. HTML을 PDF로 변환 하든 기존 PDF 문서를 편집하든, IronPDF는 강력한 압축 기능을 제공합니다.

IronPDF란 무엇이며 PDF 압축에 사용해야 하는 이유는 무엇일까요?

IronPDF는 광범위한 PDF 조작 기능을 제공하는 종합적인 Python PDF 라이브러리입니다. PDF를 처음부터 만들거나 , 수정하거나, 압축하거나, 읽거나 하는 등 어떤 작업을 하든 IronPDF는 필요한 도구를 제공합니다. 이 프로그램은 PDF 워크플로우를 간소화하는 다양한 기능을 제공합니다.

IronPDF의 핵심 기능 중 하나는 압축 기능입니다. 이 기능을 사용하면 기존 PDF 파일을 압축하여 PDF 품질을 높게 유지하면서 파일 크기를 효과적으로 줄일 수 있습니다. 이는 인터넷이나 이메일을 통해 신속하게 공유해야 하는 대용량 문서를 다룰 때 특히 유용합니다. 압축 기능은 HTML을 PDF로 변환하여 생성된 파일을 포함하여 다양한 소스에서 생성된 PDF와 원활하게 작동합니다.

IronPDF의 압축 알고리즘은 PDF 문서 내 이미지들을 지능적으로 최적화하는데, 이미지는 파일 크기를 크게 만드는 주요 원인 중 하나입니다. 이미지 품질과 해상도를 조정하면 문서의 가독성과 시각적 완성도를 유지하면서 파일 크기를 크게 줄일 수 있습니다. 이러한 특징 덕분에 대량의 PDF 문서를 효율적으로 관리해야 하는 기업에 이상적인 솔루션입니다.

Python에 IronPDF를 설치하는 방법은 무엇인가요?

pip를 사용하여 IronPDF를 설치하려면 다음 명령어를 사용하십시오.

 pip install ironpdf

[{i:(Python용 IronPDF는 기본 기술로 IronPDF .NET 라이브러리, 특히 .NET 6.0에 의존합니다. 따라서 Python용 IronPDF를 사용하려면 컴퓨터에 .NET 6.0 SDK가 설치되어 있어야 합니다. 마이크로소프트 공식 웹사이트 에서 .NET 6.0 SDK를 다운로드하세요.

설치 후, 프로덕션 환경에서 IronPDF를 사용하는 경우 라이선스 키를 구성해야 할 수 있습니다. 해당 라이브러리는 개발 및 테스트 목적으로 무료 체험 기간을 제공합니다.

IronPDF를 사용하여 PDF 파일을 압축하는 방법은 무엇인가요?

다음 파이썬 코드는 IronPDF 라이브러리를 사용하여 PDF 문서를 효율적으로 압축합니다. 이 예제는 기본 압축과 해상도 확대/축소 옵션을 포함한 고급 압축을 모두 보여줍니다.

from ironpdf import PdfDocument

# Load the PDF document from a file
pdf = PdfDocument("Image based PDF.pdf")

# Compress images in the PDF with a quality setting of 60 (out of 100)
# Lower numbers reduce quality to increase compression
pdf.CompressImages(60)
pdf.SaveAs("document_compressed.pdf")

# Compress images with an additional option to scale down image resolution according to their visible size in the PDF
# This may cause distortion depending on the image configurations
pdf.CompressImages(90, True)
pdf.SaveAs("Compressed.pdf")
from ironpdf import PdfDocument

# Load the PDF document from a file
pdf = PdfDocument("Image based PDF.pdf")

# Compress images in the PDF with a quality setting of 60 (out of 100)
# Lower numbers reduce quality to increase compression
pdf.CompressImages(60)
pdf.SaveAs("document_compressed.pdf")

# Compress images with an additional option to scale down image resolution according to their visible size in the PDF
# This may cause distortion depending on the image configurations
pdf.CompressImages(90, True)
pdf.SaveAs("Compressed.pdf")
PYTHON

압축 매개변수는 무엇을 의미합니까?

  • PDF 불러오기 : 코드는 상대 경로에 있는 "Image based PDF.pdf"라는 기존 PDF 문서를 읽어옵니다. URL이나 바이트 배열에서 PDF를 불러올 수도 있습니다.
  • CompressImages : CompressImages 메서드는 PDF의 이미지를 압축하는 데 사용됩니다. 품질 매개변수는 1부터 100까지의 범위를 가지며, 100은 원래 품질을 유지하는 것을 의미합니다.
  • 압축된 PDF 저장 : 압축된 버전은 "document_compressed.pdf"라는 이름으로 저장됩니다.
  • 대안적 접근 방식 : CompressImages에 대한 두 번째 호출에는 이미지의 가시 크기에 따라 해상도를 낮추는 선택적 매개변수가 포함됩니다. 결과 PDF는 "Compressed.pdf"로 저장됩니다.

압축된 파일과 원본 PDF 파일을 비교하여 파일 크기와 이미지 품질의 차이를 확인하십시오. 보다 고급 압축 시나리오에 대해서는 PDF 압축 예제를 참조하십시오.

고급 압축 기술

보다 정교한 압축 요구 사항이 있는 경우 IronPDF의 압축 기능을 다른 최적화 기술과 결합할 수 있습니다.

from ironpdf import PdfDocument

# Load a PDF that may have been created from HTML
pdf = PdfDocument("large_report.pdf")

# Apply aggressive compression for maximum file size reduction
# Quality of 40 provides significant compression while maintaining readability
pdf.CompressImages(40)

# You can also compress after merging multiple PDFs
# This is useful when consolidating documents
pdf.SaveAs("highly_compressed.pdf")

# For PDFs with mixed content (images and text), consider:
# - Higher quality (70-80) for documents with important diagrams
# - Lower quality (30-50) for documents primarily containing photos
# - Medium quality (50-70) for general-purpose compression
from ironpdf import PdfDocument

# Load a PDF that may have been created from HTML
pdf = PdfDocument("large_report.pdf")

# Apply aggressive compression for maximum file size reduction
# Quality of 40 provides significant compression while maintaining readability
pdf.CompressImages(40)

# You can also compress after merging multiple PDFs
# This is useful when consolidating documents
pdf.SaveAs("highly_compressed.pdf")

# For PDFs with mixed content (images and text), consider:
# - Higher quality (70-80) for documents with important diagrams
# - Lower quality (30-50) for documents primarily containing photos
# - Medium quality (50-70) for general-purpose compression
PYTHON

압축 전 PDF 파일은 어떤 모습인가요?

Edge 브라우저에서 압축 전 PDF 파일 크기가 458KB로 표시되는 모습

압축 후 PDF 파일은 어떤 모습인가요?

IronPDF 압축 후 Windows 탐색기에서 357KB 크기로 표시되는 압축된 PDF 파일

비교표에서 보시다시피, 압축을 통해 시각적 품질을 유지하면서 파일 크기가 458KB에서 357KB로 크게 줄어들었습니다(약 22% 감소). 이는 IronPDF의 압축 알고리즘이 실제 응용 분야에서 효과적임을 보여줍니다.

PDF 압축을 위한 모범 사례

Python에서 PDF 압축 작업을 할 때는 다음과 같은 모범 사례를 고려하십시오.

  1. 다양한 품질 수준 테스트 : 70~80% 품질 수준으로 시작하여 요구 사항에 따라 조정하십시오. 텍스트 문서는 품질 저하 없이 낮은 품질을 사용할 수 있습니다.

  2. 사용 사례를 고려하세요 . 인쇄 의 경우, 더 높은 품질(80-95)을 사용하세요. 웹이나 이메일의 경우, 낮은 설정값(50-70)으로도 충분합니다.

  3. 일괄 처리 : 여러 PDF 파일을 일괄 처리합니다.
import os
from ironpdf import PdfDocument

def batch_compress_pdfs(input_folder, output_folder, quality=60):
    """
    Compress all PDF files in a folder

    Args:
        input_folder: Path to folder containing PDFs
        output_folder: Path to save compressed PDFs
        quality: Compression quality (1-100)
    """
    # Ensure output folder exists
    os.makedirs(output_folder, exist_ok=True)

    # Process each PDF file
    for filename in os.listdir(input_folder):
        if filename.endswith('.pdf'):
            input_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, f"compressed_{filename}")

            try:
                # Load and compress the PDF
                pdf = PdfDocument(input_path)
                pdf.CompressImages(quality)
                pdf.SaveAs(output_path)
                print(f"Compressed: {filename}")
            except Exception as e:
                print(f"Error compressing {filename}: {e}")
import os
from ironpdf import PdfDocument

def batch_compress_pdfs(input_folder, output_folder, quality=60):
    """
    Compress all PDF files in a folder

    Args:
        input_folder: Path to folder containing PDFs
        output_folder: Path to save compressed PDFs
        quality: Compression quality (1-100)
    """
    # Ensure output folder exists
    os.makedirs(output_folder, exist_ok=True)

    # Process each PDF file
    for filename in os.listdir(input_folder):
        if filename.endswith('.pdf'):
            input_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, f"compressed_{filename}")

            try:
                # Load and compress the PDF
                pdf = PdfDocument(input_path)
                pdf.CompressImages(quality)
                pdf.SaveAs(output_path)
                print(f"Compressed: {filename}")
            except Exception as e:
                print(f"Error compressing {filename}: {e}")
PYTHON
  1. 파일 크기 대비 품질 모니터링 : 압축된 출력물을 검토하여 품질이 기준을 충족하는지 확인합니다. 일부 이미지에는 더 높은 설정값이 필요합니다.

  2. 최적화 기법 결합 : 압축 전에 PDF를 병합하는 등 다른 기능과 함께 압축을 활용하십시오.

PDF 압축에 IronPDF를 선택해야 하는 이유는 무엇일까요?

IronPDF는 Python 개발자를 위한 안정적인 PDF 압축 기능을 제공합니다. 이 프로그램은 페이지 회전, HTML을 PDF로 변환, 이미지 편집 등 포괄적인 기능을 제공합니다. 이러한 기능들을 종합적으로 고려할 때, IronPDF는 완벽한 PDF 조작 기능을 필요로 하는 개발자에게 탁월한 선택입니다.

$799부터 IronPDF는 개발자에게 접근 가능한 라이선스 옵션을 제공하여 합리적인 비용으로 고품질 소프트웨어를 보장합니다. IronPDF는 강력한 PDF 최적화 기능을 통해 다양한 응용 분야에 효율적인 PDF 압축 기능을 제공합니다.

이 라이브러리의 방대한 문서와 코드 예제는 파이썬 애플리케이션에서 압축 기능을 구현하는 과정을 간소화합니다. 문서 관리 시스템을 구축하든, 웹 배포용 PDF를 최적화하든, 스토리지 비용을 절감하든, IronPDF는 성공에 필요한 도구를 제공합니다.

자주 묻는 질문

파이썬에서 PDF를 압축하는 데 필요한 라이브러리를 어떻게 설치하나요?

IronPDF를 사용하여 Python에서 PDF를 압축하려면 pip를 사용하여 라이브러리를 설치하세요. `pip install ironpdf` 명령어를 실행하면 `CompressImages` 메서드와 기타 PDF 조작 기능을 사용할 수 있게 됩니다.

PDF 파일을 압축하기 위한 기본적인 코드 구조는 무엇인가요?

기본 구조는 PdfDocument를 사용하여 PDF를 로드하고, 품질 매개변수(1-100)와 함께 CompressImages 메서드를 호출하고, SaveAs를 사용하여 압축된 파일을 저장하는 것입니다. 예를 들면 다음과 같습니다. pdf = PdfDocument('your-file.pdf'), pdf.CompressImages(60), pdf.SaveAs('compressed.pdf').

품질 매개변수는 PDF 압축에 어떤 영향을 미칩니까?

CompressImages 메서드는 1에서 100까지의 품질 매개변수를 허용합니다. 값이 낮을수록 파일 크기는 작아지지만 이미지 품질이 저하되고, 값이 높을수록 품질은 유지되지만 파일 크기가 커집니다. IronPDF는 원하는 압축 수준을 달성하기 위해 PDF 내의 이미지를 지능적으로 최적화합니다.

HTML을 PDF로 변환하여 생성한 파일을 압축할 수 있나요?

네, IronPDF의 압축 기능은 HTML을 PDF로 변환하여 생성된 PDF를 포함하여 다양한 소스에서 생성된 PDF와 완벽하게 호환됩니다. 원래 생성 방식에 관계없이 모든 PDF를 압축할 수 있습니다.

PDF 압축이 개발자에게 특히 유용한 이유는 무엇일까요?

IronPDF를 이용한 PDF 압축은 인터넷이나 이메일을 통해 빠르게 공유해야 하는 대용량 문서를 다룰 때 특히 유용합니다. 저장 공간을 최적화하고 문서 공유 효율성을 높이는 동시에 가독성을 유지할 수 있습니다.

PDF 파일을 압축하면 가독성에 영향을 미칠까요?

IronPDF의 압축 알고리즘은 파일 크기를 줄이면서 문서의 가독성과 시각적 완성도를 유지하도록 설계되었습니다. 품질 매개변수를 조정하여 파일 크기 축소와 문서 품질 유지 사이의 균형을 맞출 수 있습니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
버전: 2026.2 방금 출시되었습니다