C# 壓縮PDF文件

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教程頁

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章