在C#中使用PDF Optimizer简单测试PDF压缩优化效果

PDF Optimizer是一个很好的PDF压缩类库,支持Java、.NET、C++开发,可以从压缩率、字体、图像等资源进行优化PDF文档,针对Web应用线性加载也有作用。

今天我们要实现下方的PDF文件简单优化案例,以及反馈初次使用PDF Optimizer时会遇到的问题。

无论是Java、.NET还是C++,示例代码都可以下载我们的PdfOptimize-API-6.19.0.2-Windows压缩包。

在C#中使用PDF Optimizer简单测试PDF压缩优化效果

问题1:安装

在C#中使用PDF Optimizer简单测试PDF压缩优化效果

按照DEMO代码引入各DLL文件后,窗体运行及 错:原因:解决方案CPU方案使用Any CPU,那么我们引入的api.dll需要确认X86还是X64

问题2:官方示例代码如何集成到以后项目体验

解决方法:重新绘制上述窗体设计,将事件代码复制即可。

问题3:Resource类没有办法加载

解决方法:Resource是官方自己去自定义的一个日志实体类,我们可以忽略掉,自行设置即可。


以下就是我在试用实现优化的事件代码:

            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;                    opt.ImageQuality = 10;//输出图片质量                    // Optimize output file for either printing or web                    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;                        else                            txtLog.Text = "文件保存异常:" + opt.ErrorCode.ToString() + String.Format(" ({0})", opt.ErrorMessage);                    }                    opt.Close();                }            }            catch (Exception ex)            {                txtLog.Text = ex.Message;            }            finally            {                //ButtonOptimizePrint.Enabled = true;                //ButtonOptimizeWeb.Enabled = true;            }

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月19日
下一篇 2021年11月19日

相关推荐

发表回复

登录后才能评论