突破技术限制,实现Web端静默打印

作为Web开发的同僚们,估计都有一个共同的烦恼,Web端为什么不能够像 CS端那样直接打印预览接移除掉打印预览界面不就可以了/p>

真实情况是Web端受限于浏览器的权限,无法直接访问打印机等本机资源。所以,在Web上实现无预览和打印并不是一个简单的问题,而是突破权限、突破平台的问题。这就导致了用户在打印报表时,至少需要点击两个按钮才能完成打印,如果是需要批量打印的场景,用户则需要重复多次点击按钮,非常麻烦。

而不了解详细内情的甲方则会非常不解,这么简单的一个诉求,只是省去点击一个操作步骤,为什么你们办不到呢/p>

突破技术限制,实现Web端静默打印

在如此严峻的形势之下,外加众多用户都追着询问这个问题,静默打印在 Web端的功能实现也是非常急迫的。

现在大部分打印过程基本是将需要打印的内容导出为PDF文件,然后调用浏览器的打印预览,进行打印。既然有了第一步,就一定有直接实现静默打印的方法,。以下是本人搜索全网,觉得比较合适的内容,现将结果分享给大家。

实现思路有两种:

  1. 设置浏览器
  2. 安装插件,使用代理软件

话不多说直接干货,看看测试结果。

设置浏览器

有限制的地方就会有需求,既然打印时浏览器限制,那么就一定也有别的用户也有我们同样的需求,方法总比困难多。搜索后,我们找到在Chrome 和火狐浏览器的设置中,有解决的方法,这法子看着像模像样,点赞也很多:

突破技术限制,实现Web端静默打印
  • 打开桌面快捷方式,修改在后缀输入–kiosk –kiosk-printing。

而走到这一步,此路就不通了。系统会一直弹出如下的错误,无法修改。

突破技术限制,实现Web端静默打印

突破技术限制,实现Web端静默打印

使用代理软件

JSPrint

使用方法简单,先用Demo网站调用JSPrintManager打印借口接口,然后使用客户端进行代理,就可以实现打印。支持的平台有:windows 10, IE,Edge, 火狐,Chrome,Safari。

突破技术限制,实现Web端静默打印

使用默认打印机

使用安装的打印机

获取打印机列表:

JSPrintManager使用起来并不难,但在的使用过程中,存在一些较为明显的技术限制。 在测试过程中,我们发现由于未知的因素,会出现旧示例无法使用工作,需要我们新建一个示例来完成JSPrint的静默打印的调用;除此之外,这种方法在火狐浏览器中无法正常执行。如果你是Mac OS需要注意,一旦试用JSPrintManager将无法卸载。

Wyn Enterpriese

实现在线报表设计,预览及静默打印一体功能 Wyn Enterprise V5.0 Update1 带来了突破性的报表打印——静默打印。

示例下载:

https://gcdn.grapecity.com.cn/forum.phpod=attachment&aid=MTgzNDk3fDg2YWRhNTgyfDE2NDA1OTEzMzd8MjkzODJ8MTM2MTU1

操作步骤:

1 、启动打印代理服务(打印代理是使用PowerShell脚本完成的)

包含文件如下:

突破技术限制,实现Web端静默打印
  • 调用 ./switchPrinter.ps1 命令选择默认的打印机

突破技术限制,实现Web端静默打印

突破技术限制,实现Web端静默打印

总结

解决静默打印是没有捷径可以走的,设置浏览器该方法是看着是非常便捷,但是结果是并无效果。这时使用代理是一个行之有效的方法,但是现成的智慧结晶往往需要一些知识付费。Anyway,方法总比困难多,如果大家在遇到类似的需求时,也不用发愁,现在市面上已经出现了行之有效的方法解决问题。去解决这个问题。

突破技术限制,实现Web端静默打印

来源:葡萄城技术团队

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月25日
下一篇 2021年11月25日

相关推荐