翼度科技»论坛 编程开发 .net 查看内容

C# 压缩PDF文件

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
PDF 文件可以包含文本、图片及各种媒体元素,但如果文件太大则会影响传输效果同时也会占用过多磁盘空间。通过压缩PDF文件,能够有效减小文件大小,从而提高传输效率并节省存储空间。想要通过C#代码快速有效地压缩 PDF 文件,下面是实现思路:
在 C# 中压缩 PDF

1、在VS中使用 NuGet包管理器将 “spire.pdf” 安装到程序中,并导入所需的命名空间。(也可下载Spire.PDF后手动引入);
2、实例化 PdfCompressor 类对象并加载需压缩的PDF文件;
3、通过 TextCompressionOptions 类来压缩PDF文件中的字体;
  1. //获取文本压缩选项
  2. textCompression = compressor.Options.TextCompressionOptions;
  3. //设置是否压缩字体
  4. textCompression.CompressFonts = true;
  5. //设置是否嵌入字体
  6. textCompression.UnembedFonts = true;
复制代码
4、通过 ImageCompressionOptions 类来压缩PDF文件中的图片;
  1. //获取图片压缩选项
  2. ImageCompressionOptions imageCompression = compressor.Options.ImageCompressionOptions;
  3. //设置是否压缩图片
  4. imageCompression.CompressImage = true;
  5. //设置图片质量
  6. imageCompression.ImageQuality = ImageQuality.Low;
  7. //设置是否调整图片大小
  8. imageCompression.ResizeImages = true;
复制代码
5. 保存压缩后的PDF文件。
 
PDF压缩前后效果对比如图:


 
Spire.PDF for .NET 提供了接口来压缩PDF文件中的字体和图片,其中将图片质量设置为low时压缩效果最好,但可能文件可读性会受到一定影响。在使用时可根据自己的需求来设置图片质量 (High/ Medium/ Low)。
 
附上完整代码供自行测试:
  1. using Spire.Pdf;
  2. using Spire.Pdf.Conversion.Compression;
  3. namespace CompressPdf
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             //实例化 PdfCompressor 类对象并加载PDF文件
  10.             PdfCompressor compressor = new PdfCompressor("文件.pdf");
  11.             //获取文本压缩选项
  12.             TextCompressionOptions textCompression = compressor.Options.TextCompressionOptions;
  13.             //设置是否压缩字体
  14.             textCompression.CompressFonts = true;
  15.             //设置是否嵌入字体
  16.             textCompression.UnembedFonts = true;
  17.             //获取图片压缩选项
  18.             ImageCompressionOptions imageCompression = compressor.Options.ImageCompressionOptions;
  19.             //压缩图片
  20.             imageCompression.CompressImage = true;
  21.             //设置图片质量
  22.             imageCompression.ImageQuality = ImageQuality.High;
  23.             //调整图片大小
  24.             imageCompression.ResizeImages = true;
  25.             //将压缩后PDF保存至指定位置
  26.             compressor.CompressToFile("压缩.pdf");
  27.         }
  28.     }
  29. }
复制代码
 
想了解C#操作PDF文件的更多示例,点击前往Spire.PDF教程页

来源:https://www.cnblogs.com/Yesi/archive/2023/11/03/17807681.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具