Web直接打印走过的那些坑

楼主目前所在项目是个物流项目,需要一个扫描运单号即时打印包裹信息的功能;

一坑:

看到这个需求   第一反应就是   java.awt.print  API了,然后就啪啪啪  搞定收工  ,自己测了一下  没毛病    打包更新服务器 

然后问题就出来了: java.awt.print  只能调用项目所部署的服务器所连接的打印机,因为测试的时候是本地测试,局域网内都是一台打印机,不管是哪台电脑 都能打印出来,就没有发现问题,到阿里云线上服务器问题就出来了,线上怎么调的到我旁边的打印机嘛; gg了

二坑:

既然后台打印不了  就用前端js来实现调用打印机咯;将要打印的东西生成文件或者放到页面上 然后通过js去调用客户端打印机;问题又来了  每次打印都会先跳出打印预览的界面;这个是重点问题,如果不是要直接打印就不会有这么多问题了。百度一下  说谷歌浏览器实现直接打印效果  就是快捷方式里面假如这个  --kiosk-printing ;试过  加入后重启浏览器  效果是  每次打印  预览弹窗会闪一下  然后就打印了   说是直接打印也说的过去,暂时也就这么用了 。过了几天问题就来了 ,公司每天扫描的单量很大  这种方式太慢,很影响操作人员的下班时间。没办法继续改咯。

三坑:

以前的要求是随便一个电脑练了打印机就能用,所以没有考虑用插件,为了避免换一台电脑就有重新装插件,也能理解。但是现在不行了,不用插件搞不定啊。老板看我搞了这么久 妥协了 说实在不行就用插件吧,瞬间觉得那就好搞了。没想到更大的坑等着我了┭┮﹏┭┮。。。

插件一:Lodop

百度一下  找到了口碑最好的Lodop  根据他的示例 又是一顿啪啪啪 改好测试 ok  心想搞了这么久终于搞好了 ,结果打印出来  左下角出现 本页由【试用版打印控件Lodop6.2.2.4】输出  mmp啊  要不要这样啊  然后查了一下  想去掉也简单  260rmb,然后就找了一下破解版  没找到  然后就去找老大(其实想让老大付钱的) ,老大说  找找破解版的 。。。。。。。。。。。。

插件二:jatoolsPrinter 

这个插件不错  可以直接打印  还没有水印  真好o(* ̄︶ ̄*)o     改代码测试  然后提示:免费版仅支持IE内核的浏览器。。。。

然后老大找了同行别的公司的插件 ,然后就给个安装包我  文档啥的都没有  说这个可以用。。。。。。

 

网上别人记录的插件总结,做个笔记:

Lodop 打印 支付几乎所有浏览器,功能非常强大,免费版会多打印一页,并出现版本号等广告。收费版不会出现广告,参考网址:http://www.lodop.net/
jatoolsPrinter_free 打印 免费版仅支持IE内核的浏览器,收费版支持多浏览器,如果选择收费版,建议使用Lodop,详情参考:http://printfree.jatools.com/
DLPrinter 打印 不在更新 不支持IE8及以上版本,不可用!
ScriptX 打印 似乎仅支持IE内核浏览器 免费版含有基础功能,但会弹出的打印预览框采用英文,下载安装包过大。商业版需要购买,且挺贵!
PAZU 打印 支持IE内核浏览器及非IE内核浏览器 应该是免费,但是需要公司申请注册,参考网址:http://www.4fang.net/index.htm
墙外打印控件 向广大网页制作者免费发布,大家可以自由使用。 本控件基于ie的打印模板功能而开发,不支持非IE内核浏览器。能方便网站程序员制作各种打印效果,灵活的控制打印机制。
JS打印,JQprint 简单,无插件。

 

 

 

问题还没解决,,,解决了再更新。。。。。。。。

不好意思,这个问题已经解决了  但是最近太忙 忘记更新了   最后还是用插件的方式解决的;

如果有需要可以加我相互讨论学习,wx通过qq号添加:361528529

=================================分割线=======================================

抱歉,大家伙儿,由于现在习惯用微信了 qq很少使用,昨天登陆一下发现很多朋友加我,问web打印的问题,然后很多是前端的朋友,我这里能跟大家分享的就是itext的工具类使用,及内容排版;

这里说一下我的解决方法:

1. 我需要打印的文件是通过后台生成的,文件内容使用itext画成的,生成后保存到ftp,得到一个文件访问链接;

2. 使用一个客户端插件,向插件的API发送文件url,剩下的事都是插件完成的,插件拿到url,就能通过配置的打印机打印出文件了;

3.插件是公司私有的,抱歉不能分享给大家了;

 

 

 

你可能感兴趣的:(SpringBoot,web直接打印)