WEB打印的几种方案

本文就web端打印的几种方案进行汇总分析,有什么遗漏或错误的地方希望大家提醒纠正,谢谢支持(本文转自http://elf8848.iteye.com/blog/626790,并稍加修改)

方案一:浏览器自带打印功能

优点:

  1. 免费(好东西啊)
  2. 所有主要浏览器都支持
  3. 支持实现网页部分内容的打印
  4. 有预览功能
  5. 可利用CSS print 样式较精确的控制打印效果,比如设置纸张大小,纸张纵横方向,打印边距,分页等
缺点:

  1. 除IE外多不支持直接打印
  2. 除IE外无法通过js控制页眉页脚,需客户手动设置
  3. CSS print效果不错但各大浏览器未很好地实现了这些标准,多种浏览器的打印效果可能有差异

总结显而易见,该方案成本小,不需要下载任何插件,而且跨平台性非常好,若只是简单打印推荐使用该方法,较复杂或要求高的还是往下看吧。。


方案二:使用PDF文件 

优点:

  1. 免费
  2. 所有主要浏览器都支持
  3. 能实现精确套打
  4. 有预览功能
缺点:

  1. 需要adobe插件
  2. 要在服务器PDF文件

总结本方案是国外经常推荐的一种打印方法,高推荐。


方案三:采用纯ActiveX 

优点:
  1. 打印的精确度高,分页的可控性好
  2. 一般有预览、直接打印功能
缺点:
  1. 只支持IE内核的浏览器
  2. 需要下载控件(一般超过1M)
  3. 部分需要付费
总结:如果只需要支持IE,那该方式还是不错的,如果要多浏览器支持的还是绕道吧。一般推荐。

方案四:采用Applet方式  

优点:
  1. 免费
  2. 支持多数浏览器
  3. 打印的精确度高,分页的可控性好
  4. 一般预览、直接打印功能
缺点:
  1. 效率低,Applet打印时不会使用当前html页面,而是再访问一般服务器
  2. 需要安装Applet,成本巨大,需要下载十几M的文件
  3. 不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。
  4. 不能解决打印机设置问题,如存在多台打印机时,总是需要手工选择,打印到哪一台打印机
总结:java类的报表工具,一般推荐Applet方式来实现打印

方案五:利用jatoolsPrinter

优点:
  1. 有免费版
  2. 付费版支持多数浏览器
  3. 兼容ie6+
  4. 打印的精确度高,分页的可控性好
  5. 功能全
  6. 有预览、直接打印功能
  7. 经过微软数字签名
缺点:
  1. 免费版只支持IE内核浏览器
  2. 需要下载控件(免费版小于500k)
总结:可惜免费版只支持IE。。。。。,一般推荐

方案六:使用LODOP

优点:
  1. 有免费版,付费版的价格也较低
  2. 免费版只是不能直接打印,其他与付费版基本一致
  3. 支持多数主流浏览器
  4. 打印的精确度高,分页的可控性好
  5. 有预览功能,支持浏览器嵌入预览
缺点:
  1. 需要下载控件(现大小2M多)
  2. 由于新版Chrome不支持NPAPI,会导致其不可用
总结:不说什么了,强力推荐。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
控件功能强大,却简单易用,所有调用如同JavaScript扩展语句, 主要接口函数如下: PRINT_INIT 打印初始化 SET_PRINT_PAGESIZE 设定纸张大小 ADD_PRINT_HTM 增加超文本项 ADD_PRINT_TEXT 增加纯文本项 ADD_PRINT_TABLE 增加表格项 ADD_PRINT_SHAPE 画图形 SET_PRINT_STYLE 设置对象风格 PREVIEW 打印预览 PRINT 直接打印 PRINT_SETUP 打印维护 PRINT_DESIGN 打印设计 ... 样例清单 1.如何在页面内嵌入控件见样例一 2.如何选材打印当前页面内容见样例二 3.如何用代码生成打印页见样例三 4.如何打印设计和定位套打见样例四 5.如何控制纸张大小和连续打印见样例五 6.如何输出多页长文档及双面打印见样例六 7.如何定向输出见样例七 8.如何打印图片见样例八 9.如何用程序加载打印维护背景图见样例九 10.如何控制打印样式(STYLE)见样例十 11.如何直接打印条形码见样例十一 12.如何读写本地文件见样例十二 13.如何打印旋转内容见样例十三 14.如何按URL打印见样例十四 15.如何打印表格的页头页尾见样例十五 16.如何设置预览窗口大小见样例十六 17.如何发打印机指令或直接读写端口见样例十七 18.如何打印幅面高度不固定的票据见样例十八 19.如何内嵌显示及预览时包含背景图见样例十九 20.如何强制分页并预览多页卡片见样例二十 21.如何控制打印维护的功能权限见样例二十一 22.如何构建自己的纯WEB打印预览见样例二十二 23.如何居中打印超文本见样例二十三 24.如何选择界面皮肤见样例二十四 25.如何指定输出到哪页或仅预览见样例二十五 26.如何提高多页打印的性能见样例二十六 27.如何导出数据到Excel文件见样例二十七 28.如何快速读取客户端系统信息见样例二十八 29.如何使用其它长度单位见样例二十九 30.如何分页输出页面内容见样例三十 31.如何打印表格的分页小计或合计见样例三十一 32.如何实现清晰的图表打印见样例三十二 33.如何实现甘特图等的图表打印见样例三十三 34.如何使用百分比%和满页打印见样例三十四 35.如何获得打印结果和程序代码见样例三十五 36.如何在设计过程中用js编辑内容见样例三十六 37.如何打印公章效果图见样例三十七 38.如何用BASE64编码输出图片见样例三十八 39.如何打印田字格、上划线等文本见样例三十九 40.如何进行数据格式转换见样例四十 41.如何把内容关联后按顺序打印见样例四十一 42.如何把整页内容缩放打印见样例四十二 43.如何分页打印综合表格见样例四十三 44.如何缩放打印单个超文本内容见样例四十四 45.如何获得打印状态及最终结果见样例四十五 46.如何设置右边距和下边距见样例四十六

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值