本文就web端打印的几种方案进行汇总分析,有什么遗漏或错误的地方希望大家提醒纠正,谢谢支持(本文转自http://elf8848.iteye.com/blog/626790,并稍加修改)
方案一:浏览器自带打印功能
优点:
缺点:
- 免费(好东西啊)
- 所有主要浏览器都支持
- 支持实现网页部分内容的打印
- 有预览功能
- 可利用CSS print 样式较精确的控制打印效果,比如设置纸张大小,纸张纵横方向,打印边距,分页等
- 除IE外多不支持直接打印
- 除IE外无法通过js控制页眉页脚,需客户手动设置
- CSS print效果不错但各大浏览器未很好地实现了这些标准,多种浏览器的打印效果可能有差异
总结:显而易见,该方案成本小,不需要下载任何插件,而且跨平台性非常好,若只是简单打印推荐使用该方法,较复杂或要求高的还是往下看吧。。
方案二:使用PDF文件
优点:
缺点:
- 免费
- 所有主要浏览器都支持
- 能实现精确套打
- 有预览功能
- 需要adobe插件
- 要在服务器PDF文件
总结:本方案是国外经常推荐的一种打印方法,高推荐。
方案三:采用纯ActiveX
优点:缺点:
- 打印的精确度高,分页的可控性好
- 一般有预览、直接打印功能
总结:如果只需要支持IE,那该方式还是不错的,如果要多浏览器支持的还是绕道吧。一般推荐。
- 只支持IE内核的浏览器
- 需要下载控件(一般超过1M)
- 部分需要付费
方案四:采用Applet方式
优点:缺点:
- 免费
- 支持多数浏览器
- 打印的精确度高,分页的可控性好
- 一般预览、直接打印功能
总结:java类的报表工具,一般推荐Applet方式来实现打印。
- 效率低,Applet打印时不会使用当前html页面,而是再访问一般服务器
- 需要安装Applet,成本巨大,需要下载十几M的文件
- 不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。
- 不能解决打印机设置问题,如存在多台打印机时,总是需要手工选择,打印到哪一台打印机
方案五:利用jatoolsPrinter
优点:缺点:
- 有免费版
- 付费版支持多数浏览器
- 兼容ie6+
- 打印的精确度高,分页的可控性好
- 功能全
- 有预览、直接打印功能
- 经过微软数字签名
总结:可惜免费版只支持IE。。。。。,一般推荐
- 免费版只支持IE内核浏览器
- 需要下载控件(免费版小于500k)
方案六:使用LODOP
优点:缺点:
- 有免费版,付费版的价格也较低
- 免费版只是不能直接打印,其他与付费版基本一致
- 支持多数主流浏览器
- 打印的精确度高,分页的可控性好
- 有预览功能,支持浏览器嵌入预览
总结:不说什么了,强力推荐。
- 需要下载控件(现大小2M多)
- 由于新版Chrome不支持NPAPI,会导致其不可用