PDF 文件可以包含文本、圖片及各種媒體元素,但如果文件太大則會影響傳輸效果同時也會占用過多磁碟空間。通過壓縮PDF文件,能夠有效減小文件大小,從而提高傳輸效率並節省存儲空間。想要通過C#代碼快速有效地壓縮 PDF 文件,下麵是實現思路: 在 C# 中壓縮 PDF 1、在VS中使用 NuGet包管理 ...
PDF 文件可以包含文本、圖片及各種媒體元素,但如果文件太大則會影響傳輸效果同時也會占用過多磁碟空間。通過壓縮PDF文件,能夠有效減小文件大小,從而提高傳輸效率並節省存儲空間。想要通過C#代碼快速有效地壓縮 PDF 文件,下麵是實現思路:
在 C# 中壓縮 PDF
1、在VS中使用 NuGet包管理器將 “spire.pdf” 安裝到程式中,並導入所需的命名空間。(也可下載Spire.PDF後手動引入);
2、實例化 PdfCompressor 類對象並載入需壓縮的PDF文件;
3、通過 TextCompressionOptions 類來壓縮PDF文件中的字體;
//獲取文本壓縮選項 textCompression = compressor.Options.TextCompressionOptions; //設置是否壓縮字體 textCompression.CompressFonts = true; //設置是否嵌入字體 textCompression.UnembedFonts = true;
4、通過 ImageCompressionOptions 類來壓縮PDF文件中的圖片;
//獲取圖片壓縮選項 ImageCompressionOptions imageCompression = compressor.Options.ImageCompressionOptions; //設置是否壓縮圖片 imageCompression.CompressImage = true; //設置圖片質量 imageCompression.ImageQuality = ImageQuality.Low; //設置是否調整圖片大小 imageCompression.ResizeImages = true;
5. 保存壓縮後的PDF文件。
PDF壓縮前後效果對比如圖:
Spire.PDF for .NET 提供了介面來壓縮PDF文件中的字體和圖片,其中將圖片質量設置為low時壓縮效果最好,但可能文件可讀性會受到一定影響。在使用時可根據自己的需求來設置圖片質量 (High/ Medium/ Low)。
附上完整代碼供自行測試:
using Spire.Pdf; using Spire.Pdf.Conversion.Compression; namespace CompressPdf { class Program { static void Main(string[] args) { //實例化 PdfCompressor 類對象並載入PDF文件 PdfCompressor compressor = new PdfCompressor("文件.pdf"); //獲取文本壓縮選項 TextCompressionOptions textCompression = compressor.Options.TextCompressionOptions; //設置是否壓縮字體 textCompression.CompressFonts = true; //設置是否嵌入字體 textCompression.UnembedFonts = true; //獲取圖片壓縮選項 ImageCompressionOptions imageCompression = compressor.Options.ImageCompressionOptions; //壓縮圖片 imageCompression.CompressImage = true; //設置圖片質量 imageCompression.ImageQuality = ImageQuality.High; //調整圖片大小 imageCompression.ResizeImages = true; //將壓縮後PDF保存至指定位置 compressor.CompressToFile("壓縮.pdf"); } } }
想瞭解C#操作PDF文件的更多示例,點擊前往Spire.PDF教程頁