有前端使用过vue打印收银小票吗?
前端使用vue框架,如何通过ip地址连接打印机,并触发打印呢,并且打印的内容可设置等
回答:
没做过打印收银小票,做过快递标签打印。
快递标签打印机和普通的打印机不一样,它接收的不是图像而是 XML ,因此使用 window.print
等方案是无效的,而是要根据打印机厂商提供的协议生成对应的 XML 去启动打印,我做的那款打印机是用的 webSocket + 特定的 XML 结构,拼 XML 很简单,就是拿官方的模板作一下字符替换。
所以你应该看下收银小票打印机厂商提供的打印协议,这个可以直接咨询厂商或者卖家客服,你在别的地方问都不好使。
拿到协议之后,按照协议来设计程序,如果可以传图像就方便多了,万一你不看协议做了个传图打印的,结果人打印机不接收图,就要重新来了。
回答:
直接调用 window.print(); API.然后根据提示填写相关信息就可以链接打印机打印你的页面了
如果效果不能满足你的需求,再了解一下这两个包:
import html2Canvas from 'html2canvas' // 用于将html 转为图片import JsPDF from 'jspdf' // 用于将图片转为pdf
用这两个包的思路就是选择你要打印的页面元素,
将其转换为图片,再通过jspdf 将图片转换为PDF对象
之后不管是打印还是下载就都好办了。
需要注意一下 pdf 具体纸张的大小,清晰度,横板还是竖版之类的配置。
优点是自定义的程度高,想要什么样式都可以实现
缺点是配置麻烦,需要查好几个配置项
把这几个都了解一下,就知道你的情况用哪种方法最好了
回答:
样式的话 @media print
专门设置打印样式。
其实你只要专注页面样式就好,浏览器提供打印能力。document.execCommand('print')
和 window.print()
都能调起打印功能。
至于如何连接打印机,那是操作系统和打印机之前的事情。
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
回答:
http://hiprint.io/
静默打印,在电脑上安装客户端,网页上通过websock连接调用打印。
相当于将打印机那台电脑变成网络打印机了。
以上是 有前端使用过vue打印收银小票吗? 的全部内容, 来源链接: utcz.com/p/933882.html