随着云计算和大数据的发展,Web应用逐渐取代传统应用成为主流。作为ERP软件的开发者,经常会遇到客户各种各样的打印需求,但web应用一直没有很好的打印解决方案。今天就简单跟大家分享讨论一下常见的几种Web打印解决方案。
?
说明:
局域网打印指在局域网环境中,只需为某台电脑安装打印机驱动,所有打印操作都在这台电脑上进行,其余电脑不再单独安装打印驱动软件。
方案一:
导出式打印即在系统中提供文档导出功能,导出文档后用户自行进行打印。如:Excel导出,Pdf导出,Word导出
优点:实现简单,稳定性、可靠性强,基本不存在兼容性问题。一次导出可多方多次使用。
缺点:不能直接在系统中调用打印机,操作繁琐。模板自定义能力差,扩展性不强。
常用的框架:
PDF导出 itext/itextsharp (JAVA/C#)
Excel导出 poi/npoi (JAVA/C#)
EXCEL/PPT/WORD/PDF/HTML (ASPOSE)
?
方案二:
直接使用浏览器打印,即使用HTML作为打印模板,将数据填充后使用浏览器提供的打印功能进行打印
优点:
可直接调用打印机,所见即所得
缺点:
HTML模板存在兼容性问题,模板需专人维护
打印分页不易实现
不能配置局域网打印,扩展性,定制性不强。
?
方案三:
使用ActiveX插件进行打印
优点:
可直接调用打印机,既可配置本机打印,也可局域网打印。
模板可定制,有一定的扩展性
支持套打,连打,分页打印多种打印方式
缺点:
模板与HTML类似,需要有一定基础的人维护
性能较差,多数据打印时会造成浏览器假死
设计界面粗糙,不便于用户自行维护
框架推荐: LODOP
?
方案四:
自行开发基于C/S架构的打印软件,Web端通过Http或TCP与其进行数据交互,客户端软件接收到请求后调用打印机进行打印。
优点:
C/S有成熟的打印方案,通用性跨平台性更好
C/S有很多优秀的打印组件且均提供图形化模
板设计界面,便于用户根据需要自行修改
可灵活配置局域网打印和本机打印
增强系统的稳定性和可靠性
对大量数据打印支持良好
缺点:
开发过程比较繁琐,周期较长
由于多了几次网络传输,性能上有所损耗
推荐参考菜鸟打印组件
?
总结:
HTML打印不推荐,若无复杂的打印需求推荐使用导出打印,有特殊需求但性能要求不高的推荐使用Lodop,否则推荐使用方案四
由于出门在外,无法编辑代码,这里只提出一个引子供大家参考,后面陆续更新相关代码。望各位多多指点。
?
本文暂时没有评论,来添加一个吧(●'◡'●)