Pythonを使用してPDFファイルを圧縮する方法 | IronPDF

Pythonで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は包括的なPython PDFライブラリで、広範なPDF操作機能を提供します。 一からPDFを作成する場合でも、PDFを操作、圧縮、または読む場合でも、IronPDFは必要なツールを提供します。 PDFワークフローを合理化するためのさまざまな機能を提供します。

IronPdfの主な特徴の一つは圧縮機能です。 既存のPDFを圧縮し、高いPDF品質を維持しながらファイルサイズを効果的に削減することができます。 これは、インターネットや電子メールで迅速に共有する必要がある大規模な文書を扱う場合に特に役立ちます。 圧縮機能は、HTMLからPDFへの変換によって作成されたものを含む、さまざまなソースから生成されたPDFでシームレスに動作します。

IronPDFの圧縮アルゴリズムはPDFドキュメント内の画像をインテリジェントに最適化します。 画質と解像度を調整することで、ドキュメントの読みやすさと視覚的な完全性を維持しながら、ファイルサイズを大幅に削減することができます。 そのため、大量のPDFドキュメントを効率的に管理する必要がある企業にとって理想的なソリューションです。

PythonにIronPDFをインストールするには?

.

<!ステップバイステップのプロセスを示すスクリーンショット -->

pipを使用してIronPDFをインストールするには、次のコマンドを使用してください。

 pip install ironpdf

IronPDF for PythonはIronPDF .NETライブラリ、特に.NET 6.0を基盤技術としています。 したがって、IronPDF for Pythonを使用するには、マシンに.NET 6.0 SDKをインストールする必要があります。 マイクロソフトの公式ウェブサイトから.NET 6.0 SDKをダウンロードしてください。

インストール後、本番環境でIronPDFを使用する場合はライセンスキーを設定する必要があるかもしれません。 このライブラリは、開発およびテスト用に無料の試用期間を提供しています。

IronPDFを使ってPDFファイルを圧縮するには?

以下のPythonコードはPDFドキュメントを効果的に圧縮するためにIronPDFライブラリを利用しています。 この例では、基本的な圧縮と、解像度のスケーリングオプションを使用した高度な圧縮の両方を示しています。

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を読み込む: コードは、既存のPDF文書"Image based PDF.pdf"を相対ディレクトリから読み込みます。 URLやバイト配列からPDFを読み込むこともできます。
  • CompressImages: CompressImagesメソッドを使用してPDF内の画像を圧縮します。 品質パラメータは1から100の範囲で、100はオリジナルの品質を保持します。
  • 圧縮されたPDFの保存: 圧縮されたバージョンは"document_compressed.pdf"として保存されます。
  • 代替アプローチ: CompressImagesへの2回目の呼び出しでは、画像の見えるサイズに基づいて解像度を下げるオプションのパラメータが含まれています。この結果の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ファイルを圧縮すると、圧縮前のファイルサイズが458 KBになります

圧縮後のPDFはどのように表示されますか?

Python圧縮後のWindowsエクスプローラで357KBのサイズを示す圧縮PDFファイル

比較からわかるように、圧縮により、視覚的な品質を維持しながら、458 KBから357 KB(約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

4.ファイルサイズと品質を監視する:圧縮された出力をレビューし、品質が基準を満たしていることを確認する。 一部の画像は高めの設定が必要です。

5.最適化テクニックを組み合わせる:圧縮の前に、PDFのマージのような他の機能と圧縮を使用します。

なぜPDF圧縮にIronPDFを選ぶべきなのでしょうか?

IronPDFはPython開発者に信頼性の高いPDF圧縮機能を提供します。 ページの回転、HTMLからPDFへの変換、画像操作を含む包括的な機能を提供します。 これらの機能を組み合わせることで、IronPDFは完全なPDF操作機能を必要とする開発者にとって優れた選択肢となります。

$799から始まり、IronPDFは開発者にアクセスしやすいライセンスオプションを提供し、リーズナブルなコストで高品質のソフトウェアを保証します。 堅牢なPDF最適化機能により、IronPDFは様々なアプリケーションに効率的なPDF圧縮機能を提供します。

ライブラリの豊富なドキュメントとコード例は、Pythonアプリケーションへの圧縮機能の実装を簡素化します。 文書管理システムの構築、ウェブ配信用のPDFの最適化、ストレージコストの削減など、IronPDFは成功に必要なツールを提供します。

よくある質問

PythonでPDFを圧縮するために必要なライブラリはどのようにインストールしますか?

PythonでIronPDFを使ってPDFを圧縮するには、pipでironpdfをインストールしてください。これにより、CompressImagesメソッドやその他のPDF操作機能にアクセスできるようになります。

PDFファイルを圧縮するための基本的なコード構造は何ですか?

基本的な構造としては、PdfDocumentでPDFを読み込み、CompressImagesメソッドを品質パラメータ(1-100)で呼び出し、SaveAsで圧縮ファイルを保存します。例: pdf = PdfDocument('your-file.pdf'), pdf.CompressImages(60), pdf.SaveAs('compressed.pdf').

品質パラメータはPDF圧縮にどのように影響しますか?

CompressImagesメソッドは1~100のqualityパラメータを受け付けます。低い値ではファイルサイズは小さくなりますが画質は低下し、高い値では画質は維持されますがファイルサイズは大きくなります。IronPDFはPDF内の画像をインテリジェントに最適化し、希望する圧縮レベルを達成します。

HTML変換で作成したPDFを圧縮できますか?

はい、IronPDFの圧縮機能はHTMLからPDFへの変換を含む様々なソースから生成されたPDFでシームレスに動作します。PDFがどのように作成されたかに関係なく圧縮することができます。

PDF圧縮が開発者にとって特に有用な理由は何ですか?

IronPDFによるPDF圧縮は、インターネットや電子メールでの迅速な共有が必要な大きなドキュメントを扱う場合に特に有用です。ストレージリソースを最適化し、可読性を維持しながらドキュメントの共有効率を向上させます。

PDFの圧縮は読みやすさに影響しますか?

IronPDFの圧縮アルゴリズムは、ファイルサイズを減らしながら、ドキュメントの読みやすさと視覚的な整合性を保つように設計されています。品質パラメータを調整することで、ファイルサイズの削減とドキュメントの品質維持のバランスをとることができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
バージョン: 2026.2 リリース