C#實(shí)現(xiàn)壓縮pdf文件的示例代碼
PDF 文件可以包含文本、圖片及各種媒體元素,但如果文件太大則會(huì)影響傳輸效果同時(shí)也會(huì)占用過多磁盤空間。通過壓縮PDF文件,能夠有效減小文件大小,從而提高傳輸效率并節(jié)省存儲(chǔ)空間。想要通過C#代碼快速有效地壓縮 PDF 文件,下面是實(shí)現(xiàn)思路:
在 C# 中壓縮 PDF
1、在VS中使用 NuGet包管理器將 “spire.pdf” 安裝到程序中,并導(dǎo)入所需的命名空間。(也可下載Spire.PDF后手動(dòng)引入);
2、實(shí)例化 PdfCompressor 類對(duì)象并加載需壓縮的PDF文件;
3、通過 TextCompressionOptions 類來壓縮PDF文件中的字體;
//獲取文本壓縮選項(xiàng) textCompression = compressor.Options.TextCompressionOptions; //設(shè)置是否壓縮字體 textCompression.CompressFonts = true; //設(shè)置是否嵌入字體 textCompression.UnembedFonts = true;
4、通過 ImageCompressionOptions 類來壓縮PDF文件中的圖片;
//獲取圖片壓縮選項(xiàng) ImageCompressionOptions imageCompression = compressor.Options.ImageCompressionOptions; //設(shè)置是否壓縮圖片 imageCompression.CompressImage = true; //設(shè)置圖片質(zhì)量 imageCompression.ImageQuality = ImageQuality.Low; //設(shè)置是否調(diào)整圖片大小 imageCompression.ResizeImages = true;
5. 保存壓縮后的PDF文件。
PDF壓縮前后效果對(duì)比如圖

Spire.PDF for .NET 提供了接口來壓縮PDF文件中的字體和圖片,其中將圖片質(zhì)量設(shè)置為low時(shí)壓縮效果最好,但可能文件可讀性會(huì)受到一定影響。在使用時(shí)可根據(jù)自己的需求來設(shè)置圖片質(zhì)量 (High/ Medium/ Low)。
附上完整代碼供自行測試:
using Spire.Pdf;
using Spire.Pdf.Conversion.Compression;
namespace CompressPdf
{
class Program
{
static void Main(string[] args)
{
//實(shí)例化 PdfCompressor 類對(duì)象并加載PDF文件
PdfCompressor compressor = new PdfCompressor("文件.pdf");
//獲取文本壓縮選項(xiàng)
TextCompressionOptions textCompression = compressor.Options.TextCompressionOptions;
//設(shè)置是否壓縮字體
textCompression.CompressFonts = true;
//設(shè)置是否嵌入字體
textCompression.UnembedFonts = true;
//獲取圖片壓縮選項(xiàng)
ImageCompressionOptions imageCompression = compressor.Options.ImageCompressionOptions;
//壓縮圖片
imageCompression.CompressImage = true;
//設(shè)置圖片質(zhì)量
imageCompression.ImageQuality = ImageQuality.High;
//調(diào)整圖片大小
imageCompression.ResizeImages = true;
//將壓縮后PDF保存至指定位置
compressor.CompressToFile("壓縮.pdf");
}
}
}到此這篇關(guān)于C#實(shí)現(xiàn)壓縮pdf文件的示例代碼的文章就介紹到這了,更多相關(guān)C#壓縮pdf內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# Winform 禁止用戶調(diào)整ListView的列寬
在使用 ListView 的時(shí)候, 有時(shí)我們不想讓別人隨意調(diào)整列寬, 或者某幾列的列寬, 以便達(dá)到美觀, 或者隱藏?cái)?shù)據(jù)的作用. 那么可以用一下代碼來實(shí)現(xiàn)2011-05-05
C# Winform 實(shí)現(xiàn)TCP發(fā)消息
這篇文章主要介紹了C# Winform 實(shí)現(xiàn)TCP發(fā)消息的示例,幫助大家更好的理解和學(xué)習(xí)使用c#技術(shù),感興趣的朋友可以了解下2021-03-03
c#求點(diǎn)到直線的投影點(diǎn)坐標(biāo)
這篇文章主要介紹了c#求直線外一點(diǎn)到該直線的投影點(diǎn),大家參考使用吧2013-12-12
C#使用游標(biāo)實(shí)現(xiàn)補(bǔ)間函數(shù)
這篇文章主要為大家詳細(xì)介紹了C#使用游標(biāo)實(shí)現(xiàn)補(bǔ)間函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
C#處理類型和二進(jìn)制數(shù)據(jù)轉(zhuǎn)換并提高程序性能
這篇文章介紹了C#處理類型和二進(jìn)制數(shù)據(jù)轉(zhuǎn)換并提高程序性能的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
C#實(shí)現(xiàn)Winform小數(shù)字鍵盤模擬器
本文主要介紹了C#實(shí)現(xiàn)Winform小數(shù)字鍵盤模擬器,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
unity實(shí)現(xiàn)鼠標(biāo)拖住3D物體
這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)鼠標(biāo)拖住3D物體,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07

