如何壓縮PDF文件
PDF 壓縮指的是減少 PDF 文件大小的過程(可攜式文件格式)文件。 此壓縮用於使PDF文件更易於存儲、分享和傳輸,特別是在處理大型或圖像豐富的文件時。
圖像通常佔PDF文件大小的重要部分,因為它們的尺寸通常比文本和其他內容大。 IronPdf 提供 PDF 壓縮功能,壓縮嵌入的圖像並減少經常伴隨 PDF 表格數據的樹狀結構。
開始使用 IronPDF
立即在您的專案中使用IronPDF,並享受免費試用。
如何壓縮PDF文件
- 從NuGet下載用於PDF壓縮的C#庫
- 匯入現有的 PDF 或生成新的 PDF
- 使用
壓縮圖片
在 PDF 中減少圖像大小的方法 - 使用
壓縮結構體樹
將 PDF 樹狀結構最小化的方法 - 導出壓縮的PDF文件
壓縮圖像範例
調整JPEG圖像大小的方式是,100%品質幾乎沒有損失,而1%則是非常低品質的輸出圖像。
- 90% 以上:被認為是高品質的
- 80%-90%:被視為中等品質
70%-80%:被認為是低品質的
隨意探索各種值以了解品質與檔案大小之間的權衡。值得注意的是,品質降低將根據輸入影像的類型而有所不同,某些影像可能比其他影像更明顯地經歷清晰度降低。
: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.CompressImages(40);
pdf.SaveAs("compressed.pdf");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Compress images in the PDF
pdf.CompressImages(40)
pdf.SaveAs("compressed.pdf")
壓縮圖像 - 尺寸比較
減少了 39.24%!!

了解圖像壓縮選項
讓我們深入了解我們的圖像壓縮選項的細節:
ShrinkImage:此功能根據圖像在PDF文件中的可見大小縮小圖像分辨率。 這樣做可以顯著減少圖像的大小和質量,優化它們以便於高效存儲和傳輸。
HighQualitySubsampling:此設定確定用於圖像壓縮的色度二次抽樣方法。 選擇「真」將使用 4:4:4 色度子採樣,確保具有全色彩細節的高品質圖像。 相反地,選擇「False」會採用 4:1:1 的色度二次抽樣,這會犧牲一些顏色細節以進一步減少圖像大小。
色度二次抽樣是數位影像壓縮中一項關鍵技術,目的在於減少表示影像所需的數據量,同時保持其視覺品質。 它通過有選擇地降低顏色信息的解析度來實現此功能。(色度)同時保持亮度資訊的全部解析度(亮度).
在 "4:4:4" 色度取樣中,每個像素保留其自己的顏色資訊,因此不會損失顏色細節。 相反,在 "4:1:1" 的色度二次取樣中,顏色信息以較低的解析度進行取樣,減少了顏色細節,但也減少了文件大小。
壓縮樹狀結構示例
此功能用於通過最小化由 Chrome 引擎創建的樹狀結構來減小 PDF 的大小。它與由 Chrome 引擎從包含大量表格數據的 HTML 生成的 PDFs 配合得很好。 某些 PDF 渲染引擎可能會輸出沒有此樹狀結構的 PDF,使得該功能無效。
移除所有這些樹狀結構的缺點是,對於某些PDF文件,突顯文本或提取可能無法有效執行。
讓我們使用 PDF含有表格數據以測試CompressStructTree方法.
: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.CompressStructTree();
pdf.SaveAs("compressedTable.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("table.pdf")
' Compress tree structure in PDF
pdf.CompressStructTree()
pdf.SaveAs("compressedTable.pdf")
壓縮樹狀結構 - 尺寸比較
減少 67.90%!! 這個百分比會隨著更大的表格 PDF 而增加。

先進的壓縮方法
IronPdf還有一個Compress
方法,可用於配置圖像壓縮和樹狀結構壓縮,使文件壓縮比以往更為容易。
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-compress.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
CompressionOptions compressionOptions = new CompressionOptions();
// Configure image compression
compressionOptions.CompressImages = true;
compressionOptions.JpegQuality = 80;
compressionOptions.HighQualityImageSubsampling = true;
compressionOptions.ShrinkImages = true;
// Configure tree structure compression
compressionOptions.RemoveStructureTree = true;
pdf.Compress(compressionOptions);
pdf.SaveAs("compressed.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
Private compressionOptions As New CompressionOptions()
' Configure image compression
compressionOptions.CompressImages = True
compressionOptions.JpegQuality = 80
compressionOptions.HighQualityImageSubsampling = True
compressionOptions.ShrinkImages = True
' Configure tree structure compression
compressionOptions.RemoveStructureTree = True
pdf.Compress(compressionOptions)
pdf.SaveAs("compressed.pdf")
探索可用選項
- CompressImages:控制文件中現有圖像是否使用JPG編碼進行壓縮。 它的默認值為假。
- RemoveStructureTree:移除結構樹可以顯著減少文件所使用的磁碟空間。 然而,這可能會對選擇文字產生負面影響,尤其是在複雜的文件中。
- JpegQuality:指定JPEG質量(從1到100)用於圖像壓縮期間。 它的默認值為42。
- HighQualityImageSubsampling:此屬性確定是否使用444色度取樣來獲得更高的圖像質量。(真)或 411 色度抽样以進一步減少圖像大小(錯誤).
- ShrinkImages:縮小圖片解析度可以顯著降低文件中圖片的大小和品質。