web 实现大量打印

问题描述:

在B/S项目中需要打印大量的图片,我们使用window.print,但是当数据量大至上万的时候,将图片加载出来需要一些时间,加载出来之后打印,如果用户关闭了打印界面会导致打印页的缺失。

解决思路:

1.IE,使用ActiveX控件,非IE,使用Flash插件。这种思路不同的浏览器开发方式不一样,IE/FF/GROME

2.开发一个exe,客户端安装到本地服务,使用HTTP通讯方式。通过JS发送HTTP请求给本地的服务,本地服务起一个小型的HTTP server接收请求,然后返回数据,JS解析,显示在UI上。比如将打印的参数传值到本地服务,本地服务去调用打印机,使浏览器资源得到释放。

我们使用第二种思路。

尝试了以下方法:

1.HttpPrinter

采用原因 免费  ,OME费用很便宜的,而且不限制时间和数量.还可以购买源码的。

HttpPrinter.com

2.葡萄城的ActiveReports

中有B / s端的打印使用window.print实现

https://demo.grapecity.com.cn/ActiveReports/ASPNET/ControlExplorer/Viewers/Default.aspx?category=1001&action=14

另外有C / S端的打印,无法与浏览器交互,但是可以去改进

https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=48785&extra=page%3D1

3. Lodop分为收费版与免费版

 (1)使用Lodop插件,需要客户端安装一个服务,服务的端口默认是8000或18000

 (2)如何购买和使用打印控件的Lodop的注册号

http://blog.sina.com.cn/s/blog_721e77e50100nfzs.html

 (3)Lodop样例演示

http://www.lodop.net/LodopDemo.html

考量问题:

(1)免费版有水印

4. JCP分为收费版与免费版

  安装程序需要替换

  网官   http://printfree.jatools.com/

 考量问题:

免费版只适合于IE浏览器

图片需要渲染到页面,打印时释放浏览器资源可以做其他操作

收费版jatoolsPrint支持大部分浏览器

5.jquery打印

底层是window.print方法

最后考量,我们决定将的ActiveReports中的C / S端程序打包成EXE,利用自定义协议实现打开本地exe服务,使用HTTP方式实现浏览器与本地服务的通讯。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,692评论 1 92
  • 前端开发知识点 HTML&CSS对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型...
    Hebborn_hb阅读 4,272评论 0 1
  • 瞌睡是一种疑难杂症 多方就医问诊 怎么诊断都诊断不出病因 怎么治疗都治疗不好 在两种情况下瞌睡隆重降临 一是在旷日...
    状元大人阅读 3,021评论 1 3
  • 天凉的夜寂寞的人出街化作聊天欢笑的鬼而我在逛超市接着回家煮晚饭 因天凉不要放肆
    坤宝的小静静阅读 1,504评论 0 0
  • 文/念小娜 图/网络 昨天在探讨“我都做了哪些扼杀孩子好奇心的事情”这个话题时,脑海里一直闪过14年在上课时发生的...
    念小娜阅读 4,249评论 2 1

友情链接更多精彩内容