彩票走势图

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

原创|行业资讯|编辑:何跃|2021-12-23 17:43:37.130|阅读 436 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

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

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

问题1:安装

按照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;
            }





标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP