如何在 C# 中壓縮 PDF

如何使用IronPDF在 C# 中壓縮 PDF

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

IronPDF在 C# 中提供了強大的 PDF 壓縮功能,透過壓縮嵌入的圖像和優化 PDF 樹結構來減少檔案大小,使文件更易於儲存和共享,同時保持品質。

PDF壓縮可以減少PDF文件的檔案大小,使其更容易儲存、分享和傳輸。 無論您是處理從 HTML 產生的 PDF還是現有的 PDF 文件,壓縮對於優化文件處理至關重要。

圖片通常會佔用PDF文件的大部分空間。 IronPDF提供壓縮功能,可減少嵌入影像的大小,並優化表格較多的 PDF 中常見的樹狀結構。 這些技術可以無縫地與透過各種方法建立的 PDF 一起使用,包括URL 到 PDF 的轉換HTML 檔案轉換

快速入門:使用IronPDF壓縮 PDF 檔案

使用 IronPDF 的壓縮工具來減少 PDF 檔案大小。 使用 PdfDocument.FromFile 載入 PDF,使用 Compress 方法套用壓縮(使用預設選項),然後儲存最佳化後的 PDF。 該過程可在保持品質的同時,顯著減小文件大小。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼。

    PdfDocument.FromFile("input.pdf").CompressImages(40).SaveAs("compressed.pdf");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronPDF

    arrow pointer


如何壓縮PDF中的圖片?

JPEG 壓縮質量範圍從 1%(質量非常低)到 100%(損失最小)。 了解這些級別有助於處理包含嵌入式圖像的PDF 文件,或在需要管理字體和圖形時提供協助。

  • 90%以上:高品質
  • 80%-90%:中等質量
  • 70%-80%:低質量

嘗試不同的數值,以平衡影像品質和檔案大小。影像品質下降的程度取決於輸入影像類型—有些影像的清晰度損失比其他影像更明顯。 當處理來自 Azure Blob 儲存體的影像或建立具有自訂浮水印的PDF 時,這一點尤其重要。

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-image.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Compress images in the PDF
pdf.CompressAndSaveAs("compressed.pdf", 40);
$vbLabelText   $csharpLabel

影像壓縮能帶來哪些效果?

減少了39.24%

文件對比,展示了壓縮後的pdf檔(449 KB)與未壓縮的pdf檔(739 KB)的影像壓縮結果。

影像壓縮選項的工作原理是什麼?

兩種主要的影像壓縮選項:

ShrinkImage: 根據 PDF 中的可見尺寸縮小影像解析度。 透過優化那些用途不需要全畫質的高解析度影像,可以顯著減少檔案大小。

HighQualitySubsampling: 決定色度子取樣方法。 "True"使用 4:4:4 子取樣以獲得完整的色彩細節。 "False"採用 4:1:1 子取樣,減少顏色細節以減少檔案大小。

色度二次取樣透過降低色彩資訊解析度並保持亮度解析度來減少資料需求,同時保持視覺品質。 人眼對亮度比對顏色變化更敏感,因此這種技術對攝影影像非常有效。

在 4:4:4 子取樣中,每個像素保留完整的顏色資訊。 在 4:1:1 子採樣中,顏色資訊減少,檔案大小減小,但顏色細節也減少。 根據您對文件品質和文件大小的要求進行選擇。


如何壓縮PDF樹狀結構?

此功能透過最小化 Chrome 引擎產生的樹狀結構來減少 PDF 檔案的大小。對於包含大量表格資料的 Chrome 引擎產生的 PDF 文件,此功能最為有效。 有些渲染引擎輸出的 PDF 檔案沒有這種結構,因此該功能在這些情況下無效。 當處理複雜的佈局或合併具有冗餘結構元素的多個 PDF 文件時,此技術非常有用。

移除樹狀結構可能會影響文字高亮顯示和擷取效果。 在應用壓縮時,請考慮這種權衡,尤其是當使用者需要從壓縮的 PDF 中提取文字和圖像時。

Test the CompressStructTree method using this PDF with table data.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-tree-structure.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("table.pdf");

// Compress tree structure in PDF
pdf.CompressAndSaveAs("compressedTable.pdf", null, true);
$vbLabelText   $csharpLabel

樹狀結構壓縮可以實現多大的檔案大小縮減?

減少了67.90% ! 此百分比會隨著表格 PDF 檔案的增加而增加。

文件比較圖,展示了 compressedTable.pdf (52 KB) 與 table.pdf (162 KB) 的壓縮結果

如何將這兩種壓縮方法結合起來使用?

IronPDF 的 Compress 方法可以同時配置影像和樹狀結構壓縮。 這種組合方法對於包含影像和結構化資料的複雜 PDF 檔案尤其有效,例如具有圖表的報告或具有嵌入式表格和圖形的文件。

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-compress.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Configure compression with automatic optimization
pdf.CompressAndSaveAs("compressed.pdf", 80, true);
$vbLabelText   $csharpLabel

有哪些壓縮方式可供選擇?

  • CompressImages: 使用 JPG 編碼壓縮現有影像。 預設為 false。 使用指定的壓縮設定處理所有嵌入影像。

  • RemoveStructureTree: 透過移除結構樹顯著減少文件大小。 可能會影響複雜文件中的文字選擇。 對於包含表格的HTML產生的PDF檔案效果最佳。

  • JpegQuality: 設定影像壓縮的 JPEG 品質(1-100)。 預設值為 42。更高的值可以保留細節,但會增加檔案大小。

  • HighQualityImageSubsampling: 選擇 4:4:4 子取樣以獲得更高的品質(真)或 4:1:1 子取樣以獲得更小的檔案(假)。 取決於對色彩精確度的要求。

  • ShrinkImages: 降低影像解析度以大幅減少檔案大小。對於超出顯示要求的高解析度影像非常有效。

套用壓縮時,請考慮您的使用情境。 出於存檔目的,文件品質可能比文件大小更重要。網路分發可能需要較小的檔案。 根據您處理的是符合 PDF/A 標準的文件還是標準 PDF,微調設定。

準備好要看看你還能做什麼了嗎? 請造訪我們的教學頁面:附加功能

常見問題解答

PDF 檔案大小經壓縮後可以減少多少?

IronPDF 可透過影像壓縮與結構最佳化,將 PDF 檔案大小減少達 75%。在所示的範例中,使用影像壓縮技術將檔案縮小了 39.24%。

IronPDF 如何在 C# 中壓縮 PDF 檔案?

IronPDF 透過單一方法 — CompressAndSaveAs — 處理壓縮作業。它會利用可設定的 JPEG 品質 (1–100) 來縮小嵌入式圖片的大小,並可透過設定 removeStructureTree: true 來選擇性地移除 PDF 的內部結構樹,此功能對於含有大量表格的文件特別有效。

PDF 中的 JPEG 壓縮應使用何種品質等級?

IronPDF 支援 JPEG 壓縮品質從 1% 到 100% 不等。建議水平為90% 以上為高品質,80%-90% 為中等品質,70%-80% 為低品質。最佳設定取決於您在檔案大小與視覺品質需求之間的平衡。

只需要一行代碼就可以壓縮 PDF 嗎?

是的,IronPDF 允許透過單行程式碼執行 PDF 壓縮:PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40); 此程式碼會載入 PDF 檔案,將圖片以 40% 品質壓縮,並儲存結果。

壓縮是否適用於從 HTML 建立的 PDF?

是的,IronPDF 的壓縮功能可與透過各種方法(包括 HTML 字串轉換為 PDF、URL 轉換為 PDF 和 HTML 檔案轉換)建立的 PDF 以及現有的 PDF 檔案無縫配合。

哪些類型的內容最受益於 PDF 壓縮?

圖片通常佔 PDF 檔案大小的大部分,因此圖片較多的文件是壓縮的理想對象。此外,具有複雜表格結構的 PDF 也能從 IronPDF 的結構樹壓縮功能中獲益。

Curtis Chau
技術作家

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

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

審核人
Jeff Fritz
Jeffrey T. Fritz
首席程序经理 - .NET 社群团队
Jeff 也是 .NET 和 Visual Studio 团队的首席程序经理。他是 .NET Conf 虚拟会议系列的执行制作人,并主持“Fritz 和朋友”这一每周两次的開發者的直播节目,在节目上讨论技術并与观众一起编写代碼。Jeff 撰写研讨会、主持演讲,并计划大型 Microsoft 開發者活動(包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit)的內容。
準備好開始了嗎?
Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速取得證據? PM > Install-Package IronPdf
運行範例看著你的HTML程式碼變成PDF檔。