没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:何跃|2021-12-23 09:58:14.847|阅读 528 次
概述:PDF压缩原理是什么呢,识别出PDF中各种布局层、图像和文字资源等,通过技术手段对布局进行优化、删除pdf中不需要的资源。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
PDF Optimizer 在各方面对PDF文件进行优化。各种复杂功能的组合允许在没有或最小的视觉质量损失的情况下实现高压缩。另一个应用是为打印优化PDF,通过合并嵌入式字体来减少线轴文件的大小,并应用设备特定的色彩空间转换。
PDF Optimizer 有不同的使用版本:作为Shell在命令行上使用,作为被监视的文件夹服务和作为API在C#、Visual Basic、Java、C/C++中使用。
主要优化项目
在代码实现中,操作比较方便,也支持Windows和Linux开发包,具体的类库和实现代码看下面:
// c#代码 using (Optimizer optimizer = new Optimizer()) { // Choose the optimization profile for archiving optimizer.Profile = PDFOptimizationProfile.eOptimizationProfileArchive; // Open input file if (!optimizer.Open(inputPath, "")) throw new Exception(String.Format("Input file {0} cannot be opened. " + "{1} (ErrorCode: 0x{2:x}).", inputPath, optimizer.ErrorMessage, optimizer.ErrorCode)); // Save output file if (!optimizer.SaveAs(outputPath, "", "", PDFPermission.ePermNoEncryption)) throw new Exception(String.Format("Output file {0} cannot be created. " + "{1} (ErrorCode: 0x{2:x}).", outputPath, optimizer.ErrorMessage, optimizer.ErrorCode)); // Close input file if (!optimizer.Close()) throw new Exception(String.Format("Input file {0} cannot be closed. " + "{1} (ErrorCode: 0x{2:x}).", inputPath, optimizer.ErrorMessage, optimizer.ErrorCode)); }
// Java代码 optimizer = new PdfOptimize(); // Choose the optimization profile for archiving optimizer.setProfile(PdfOptimize.OPTIMIZATIONPROFILE.eOptimizationProfileArchive); // Open input file if (!optimizer.open(inputPath, "")) throw new IOException(String.format("Input file %s cannot be opened. %s (ErrorCode: 0x%08x).", inputPath, optimizer.getErrorMessage(), optimizer.getErrorCode())); // Save output file if (!optimizer.saveAs(outputPath, "", "", NativeLibrary.PERMISSION.ePermNoEncryption)) throw new IOException(String.format("Output file %s cannot be created. %s (ErrorCode: 0x%08x).", outputPath, optimizer.getErrorMessage(), optimizer.getErrorCode())); // Close input file if (!optimizer.close()) throw new IOException(String.format("Input file %s cannot be closed. %s (ErrorCode: 0x%08x).", inputPath, optimizer.getErrorMessage(), optimizer.getErrorCode()));
// C++代码 pOptimizer = PdfOptimizeCreateObject(); // Choose the optimization profile for archiving PdfOptimizeSetProfile(pOptimizer, eOptimizationProfileArchive); // Open input file if (!PdfOptimizeOpen(pOptimizer, szInputPath, _T(""))) { _tprintf(_T("Input file %s cannot be opened. %s (ErrorCode: 0x%08x).\n"), szInputPath, PdfOptimizeGetErrorMessage(pOptimizer), PdfOptimizeGetErrorCode(pOptimizer)); iReturnValue = 1; goto cleanup; } // Save output file if (!PdfOptimizeSaveAs(pOptimizer, szOutputPath, _T(""), _T(""), ePermNoEncryption)) { _tprintf(_T("Output file %s cannot be created. %s (ErrorCode: 0x%08x).\n"), szOutputPath, PdfOptimizeGetErrorMessage(pOptimizer), PdfOptimizeGetErrorCode(pOptimizer)); iReturnValue = 1; goto cleanup; } // Close input amd output files if (!PdfOptimizeClose(pOptimizer)) { _tprintf(_T("Input file %s cannot be closed. %s (ErrorCode: 0x%08x).\n"), szInputPath, PdfOptimizeGetErrorMessage(pOptimizer), PdfOptimizeGetErrorCode(pOptimizer)); iReturnValue = 1; goto cleanup; }
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@atlvshi.cn
JetBrains 官方推出的微信小程序插件为开发者提供了强大的支持,简化了 WXML、WXSS 和 WXS 的语法编辑。通过 WebStorm,开发者可以高效地进行小程序开发,同时享受更高的代码提示与自动补全功能,极大提升开发效率。
这篇文章介绍了IntelliJ IDEA的全新结构工具窗口,通过“逻辑视图”功能帮助开发者更清晰地理解应用程序结构,特别是在Spring Boot等框架中,展示了组件间的关联,提高了代码导航效率和开发生产力。
如果你还不太了解MES系统或者信息追溯的概念,别急,我这就用简单易懂的语言为大家详细讲解。
本文将为大家深入介绍QtitanDocking组件,看看它是如何为Qt应用程序提供灵活窗口解决方案的,欢迎下载最新版组件体验!
PDF优化类库,用于压缩PDF文件的尺寸大小、提高网络浏览速度、提供高质量的打印等
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@atlvshi.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢