这篇是我初步选择的几个可优化压缩的截图

一、类库的引入

using Pdftools.Pdf;
using Pdftools.PdfOptimize;
// DLL文件这里下载 https://www.evget.com/product/1188/download

二、优化事件

这里只贴了上图优化按钮事件,文件的打开和保存目录可以自己来设置

private void ButtonOptimize_Click(object sender, EventArgs e){ButtonOptimize.Enabled = false;ButtonOptimize.Text = "转换中···";try{txtLog.Text = String.Empty;if (txtOutput.Text.Equals(String.Empty)){txtLog.Text = ""; //Resources.strOutputDirErr;return;}using (Optimizer opt = new Optimizer()){if (!opt.Open(txtInput.Text, txtPW.Text)){txtLog.Text = "错误异常:" + opt.ErrorCode.ToString() + String.Format(" ({0})", opt.ErrorMessage);return;}opt.ColorResolutionDPI = 72; // 上限是150,值越低则色彩越寡淡,文件尺寸也会相应的缩小opt.ImageQuality = (Int32)nt.Value;//1-100,输出图片质量,数值越高,图像精度越高opt.AutoLinearize = true;// 针对Web浏览的效率,线性化PDFopt.ClipImages = cbClip.Checked;// 图片是否支持被复制// 更多可优化属性选项见Optimizer类中描述if (rbRGB.Checked){opt.ColorConversion = PDFColorConversion.eConvRGB;// 指定输出的色彩格式}if (rbCMKY.Checked){opt.ColorConversion = PDFColorConversion.eConvCMYK;// 指定输出的色彩格式}if (rbGray.Checked){opt.ColorConversion = PDFColorConversion.eConvGray;// 指定输出的色彩格式}opt.MrcLayerQuality = 50;// 1-100,默认50opt.RemoveImages = rbImg.Checked;// 是否移除图像,opt.RemoveStandardFonts = rbFont.Checked;// 移除字体String strFilename = null;if (rbProfilePrint.Checked){// 针对印刷优化opt.Profile = PDFOptimizationProfile.eOptimizationProfilePrint;strFilename = "印刷优化.pdf";}else if (rbWeb.Checked){// web线性优化opt.Profile = PDFOptimizationProfile.eOptimizationProfileWeb;strFilename = "Web优化.pdf";}if (strFilename != null){strFilename = txtOutput.Text + "/" + strFilename;if (opt.SaveAs(strFilename, String.Empty, String.Empty, PDFPermission.ePermNoEncryption))txtLog.Text = "文件保存成功:" + strFilename;elsetxtLog.Text = "文件保存异常:" + opt.ErrorCode.ToString() + String.Format(" ({0})", opt.ErrorMessage);}opt.Close();}}catch (Exception ex){txtLog.Text = ex.Message;}finally{ButtonOptimize.Enabled = true;ButtonOptimize.Text = "优化";}}

三、原理分析

PDF压缩原理是什么呢,识别出PDF中各种布局层、图像和文字资源等,通过技术手段对布局进行优化、删除pdf中不需要的资源,以及我们的图像的像素点控制等。

PDF Optimizer 在各方面对PDF文件进行优化。各种复杂功能的组合允许在没有或最小的视觉质量损失的情况下实现高压缩。另一个应用是为打印优化PDF,通过合并嵌入式字体来减少线轴文件的大小,并应用设备特定的色彩空间转换。

PDF Optimizer 有不同的使用版本:作为Shell在命令行上使用,作为被监视的文件夹服务和作为API在C#、Visual Basic、Java、C/C++中使用。

PDF文件压缩和优化的原理是什么?看了这篇C#案例实践就知道了相关推荐

  1. java实现对pdf文件压缩,拆分,修改水印,添加水印

    最近要实现一个文件上传,并且在线预览上传文件的功能,设计思路是:把上传的文件通过openoffice转成pdf文件,并将pdf文件以流的形式返回到浏览器,由于上传的部分文件过大,转成pdf后传回前端浏 ...

  2. 使用java iTest实现PDF大文件压缩——将文件过大的图片PDF文件压缩成小一些的图片PDF文件

    一.需求 项目中需要将文件大小过大的PDF文件,压缩成小PDF文件.通过iText的API,可以实现此需求.在保证文件不失真的前提下,将PDF大文件压缩成小文件. 二.代码 import com.it ...

  3. java pdf文件压缩_PDF文件压缩转换教程

    现在在很多的网站上传文件的时候,不知道大家有没有遇到因为pdf文件太大,不能上传这种情况.还有很多限制PDF文件大小,由于PDF文件较多,那么就会导致效率大大减小.如果PDF文件过大进行PDF文件传输 ...

  4. pdf太大怎么压缩大小?pdf文件压缩后还是太大怎么办?

    pdf太大怎么压缩大小?pdf文件压缩后还是太大怎么办?无论是什么文件,一旦文件体积过大就会很麻烦.比如一份PDF文件比较大,网速不好的话传输就很慢.遇到这种情况,我们可以选择对这样的PDF文件进行压 ...

  5. PDF文件压缩有什么方法?如何操作?

    PDF文件压缩有什么方法呢?对于处理文件的大家都知道,在双方进行传输文件的时候会不会发现有时候特别慢,原因你知道为什么吗?第一可能就是你的网络信号不行.二是传输的PDF文件过大,.针对于第二点可以将P ...

  6. pdf怎么压缩到10m或5m以下?pdf文件压缩到10兆或2m以内?

    怎么把pdf压缩到10m以下?无论是什么文件,一旦文件体积过大就会很麻烦.比如一份PDF文件比较大,传输就会很麻烦.遇到这种情况,我们可以选择对这样的PDF文件进行压缩,那么怎么压缩pdf文件大小呢? ...

  7. 推荐几款实用的PDF文件压缩大小软件,还不快码住

    PDF文档是我们在日常学习和办公中常用的一种格式文件,它既能够有效地保护文件的内容不被随意编辑.篡改,还能够便捷地完成文件的运输,所以很多工作文件都喜欢以这种格式进行传输.但当我们遇到一些图片内容较多 ...

  8. PDF文件压缩的简单方法

    我们日常办公中会经常遇到PDF文件,上网查阅资料时,作者为了保证文章格式的稳定性,一般都是上传PDF格式文件,供用户浏览.我们下载之后,需要使用或者发送,但是PDF文件过大,在内存限制情况下会导致PD ...

  9. 怎么将pdf文件压缩的小一点

    我们都知道PDF文件不是单纯的文字内容的文档,PDF里面所包含的东西特别多,除了文字,还有图片.图形.颜色.字体等等,所以经常遇到体积较大的pdf文件,这时需要我们压缩一下,否则不利于我们传输保存.但 ...

最新文章

  1. Visual C# .NET 2003 语言的改变
  2. 如何使用jdbc连接数据库
  3. 澎思科技马原:AI安防竞争还未结束,落地进入后发优势时代
  4. JavaScript对象的创建之构造函数
  5. 人生重开模拟器微信小程序源码
  6. java远程桌面连接不上_Java远程桌面调用失败
  7. 大数据技术包含哪些结构层次
  8. R语言构建RFM模型了解一下~~~
  9. pythonbreak语句的用法_详解Python中break语句的用法
  10. linux python-3.10.4 安装
  11. zemax验证高斯公式_Zemax中高斯光束设置的相关问题
  12. 分享几个HIFI音乐下载网站
  13. 计算机断网后显示配置0%,电脑断网后自动报警提醒怎么设置
  14. Kettle之数据同步
  15. 荒木毬菜 小情歌日文版 - 独身OL之歌
  16. Microsoft SQL Server 数据库使用(一)
  17. Android之WebView的使用与简单浏览器
  18. QUB的中文帮助文档
  19. HTML5期末大作业:旅游酒店网站设计——旅游酒店服务预订(1页) web网页设计—— 出游
  20. 计算机农业类的sci,农学类比较好投的SCI期刊有哪些

热门文章

  1. 未来智安入围《2022年度中国数字安全能力图谱》威胁检测与响应领域能力者
  2. 梦幻西游服务器转移中暂时无法登陆,梦幻西游:转服常见问题答疑,赶紧先收藏起来,总会用到...
  3. 所有的伟大都源于一次勇敢的开始
  4. java开发中遇到的问题_java开发中遇到的问题及解决方法(持续更新)
  5. 计算机主机板开机原理与维修,主机板损坏电脑会出现什么现象
  6. 2019第十届蓝桥杯A组决赛(国赛)A题(三升序列)
  7. USACO 3.4.2 American Heritage 美国血统
  8. vlookup多条件的使用
  9. 看过来,u盘删除的文件还能找回吗?两种方法教给你
  10. ‘\0‘到底是什么?