原創|行業資訊|編輯:何躍|2021-12-23 17:43:37.130|閱讀 524 次
概述:PDF Optimizer是一個很好的PDF壓縮類庫,支持Java、.NET、C++開發,可以從壓縮率、字體、圖像等資源進行優化PDF文檔,針對Web應用線性加載也有作用。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
今天我們要實現下方的PDF文件簡單優化案例,以及反饋初次使用PDF Optimizer時會遇到的問題。
無論是Java、.NET還是C++,示例代碼都可以下載我們的PdfOptimize-API-6.19.0.2-Windows壓縮包。
按照DEMO代碼引入各DLL文件后,窗體運行及報錯:原因:解決方案CPU方案使用Any CPU,那么我們引入的api.dll需要確認X86還是X64
解決方法:重新繪制上述窗體設計,將事件代碼復制即可。
解決方法: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@fc6vip.cn