如何在 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 品質。 這在處理需要透過網路或電子郵件快速分享的大型文件時尤其有用。 壓縮功能可與各種來源產生的 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 程式碼利用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 檔案。

  • CompressImagesCompressImages 方法用於壓縮 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 檔案壓縮前大小為 458 KB

PDF壓縮後的外觀如何?

 IronPDF壓縮後的 PDF 檔案在 Windows 資源管理器中顯示大小為 357 KB

從對比中可以看出,壓縮後的檔案大小從 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

為什麼我應該選擇IronPDF進行 PDF 壓縮?

IronPDF為 Python 開發人員提供可靠的 PDF 壓縮功能。 它提供全面的功能,包括頁面旋轉、HTML 轉 PDF 和影像處理。 IronPDF 的這些綜合功能使其成為需要完整 PDF 操作功能的開發人員的絕佳選擇。

從 $799 開始, IronPDF為開發者提供便利的許可選項,確保以合理的成本提供高品質的軟體。 IronPDF擁有強大的 PDF 最佳化功能,可為各種應用提供高效的 PDF 壓縮功能。

這個程式庫豐富的文件和程式碼範例簡化了在 Python 應用程式中實作壓縮功能的過程。 無論您是建立文件管理系統、最佳化 PDF 以進行 Web 分發,還是降低儲存成本, IronPDF都能提供成功所需的必要工具。

常見問題解答

如何在 Python 中安裝必要的函式庫來壓縮 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 的壓縮功能可與各種來源產生的 PDF 無縫配合,包括透過 HTML 至 PDF 轉換所建立的 PDF。您可以壓縮任何 PDF,無論它最初是如何建立的。

是什麼讓 PDF 壓縮對開發人員特別有用?

在處理需要透過網際網路或電子郵件快速分享的大型文件時,使用 IronPDF 進行 PDF 壓縮尤其有價值。它有助於優化儲存資源,提高文件共享效率,同時保持可讀性。

壓縮 PDF 是否會影響其可讀性?

IronPDF 的壓縮演算法旨在保留文件的可讀性和視覺完整性,同時減少檔案大小。透過調整品質參數,您可以在減少檔案大小與維持可接受的文件品質之間取得平衡。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明?
執行範例 觀看您的 HTML 變成 PDF。