请问有做过小票打印的朋友么,我们最近准备做小票打印,买了个热敏打印机,然后想前端直接调用打印

1 天前
 0x01Dev

打印机是 usb 连接电脑的,然后前端有几种方式调用,一种是使用 window.print ,然后尝试过打印效果非常差,文字很模糊

然后调研过很多使用 esc pos 指令去打印的,然后折腾了好久,使用 web use 接口,然后访问 usb 直接提示:SecurityError: Failed to execute 'open' on’USBDevice':Access denied ,网上又搜别人说是要下载什么驱动去覆盖,但是不可能让商家下载别的驱动吧,到时候他们之前的功能都使用不了了

不知道有没有什么通用的解决方案,在网上搜感觉相关资源很少,头疼哇,v 友们有做过类似的功能么

3062 次点击
所在节点    程序员
39 条回复
kazeik
1 天前
没有蓝牙功能吗。手机端用蓝牙可以连接吧
0x01Dev
1 天前
@kazeik 据我了解,很多小票打印机都不带蓝牙功能。。。我昨天在淘宝京东看了一圈
Zy143L
1 天前
@0x01Dev 你关键词加上蓝牙就行了..价格得加个五六十
liyafe1997
1 天前
生成 PDF ,在 Web 端通过浏览器弹出 PDF 或 pdf.js ,然后用 PDF 的打印功能?
JingKeWu
1 天前
我们是购买 lodop 实现打印的
l1ve
1 天前
你参考一下菜鸟的打印组件,阿里系都用的同一个,他是统一的在本地去运行一个客户端监听端口,然后去打印,前端部分仅限于和自己的打印客户端去通信
muxw6
1 天前
可以看看 vue-plugin-hiprint
0x01Dev
1 天前
@Zy143L 我们是服务商家的,不能让商家去换硬件
0x01Dev
1 天前
@liyafe1997 打印出来很糊的
xian366
1 天前
如果是 Windows 上打印,推荐用 Lodop https://www.lodop.net ,功能十分丰富(忽略网站比较复古的样式),稳定,兼容各种打印机,支持 js api ,使用 ws 通信,前端可以直接调用,demos 很多上手很快。正式使用记得购买商业授权,大概几百元。不购买打印小票有底部版权

如果是安卓蓝牙小票打印,参考看下佳博的 sdk 及其中代码的 demo ,提供好几种语言。

希望对你有帮助.
0x01Dev
1 天前
@xian366 谢谢
SethShi
1 天前
我们之前买过直接远程的 wifi 打印机,直接请求一个接口就行
thtznet
1 天前
关键字:Zebra,ZPL
lsylsy2
1 天前
小票打印的核心是它有两种打印模式,一种是你说的 window.print 包括 pdf 等等,本质都是渲染成一张图片然后打印,效果都很差
另一种模式是 escpos 指令直接编程,是点对点对应的发各种文字图片条形码,这种才能打印出针对小票打印机清晰的内容,驱动的路线是对的,但是 usb 驱动不一定好用可能需要串口
hanguofu
1 天前
不好意思歪一下楼~~ 。 有没有人知道如何用 linux 的小主机通过 USB 驱动 小票打印 机 ?
yolee599
1 天前
本地起一个 http 后台服务,这个服务就调用商家给的二开库,web 页面和后台服务通讯。商家给的库功能是最全的,兼容性最好的
powersee
1 天前
热敏打印机支持 ZPL 语言的,这种需求我曾经搞过。

我搞的方向是医院抽血条码(大家体检抽血贴到管子上的那个信息)。

如果你用 PDF 热敏打印机非常模糊的,尤其是条码部分,几乎无法扫描。

你可以翻阅 ZPL 语言,但是这个非常冷门,文档也都是英文的,但是依然可以在百度搜索到相关内容,虽然非常少。
KavinKily
1 天前
1.针对这种标签打印机,直接通过 windows 的打印是不行的,跟 office 那些完全不是一码事
2.票据机用的确实是 ESC/POS 指令,标签机一般用的是 tspl 指令,你需要把你要下发的东西根据 pos 指令转成对应的 data 数据,然后下发,或者你也可以考虑看看用 tspl 指令试试,你要确定好你到底是票据机还是标签机
3.一般的这种票据机针对 pos 指令都是通用的,比如说你要下发文本 AAA 以及一张图片,那么 pos 指令是有针对 AAA 文字内容转成对应的二进制 data ,但是图片是一定要二值化处理的,也就是说我们手机拍的这个照片他的像素点颜色渐变是连续分布的,而这个图片是票据机所不支持的,你需要二值化把他转成点黑白阵图,并需要做误差扩散,然后把点阵图的像素值添加到下发数据的二进制 data 中去;但是同样的针对 AAA 文字以及图片情况也有一些商家的机器是不同的处理方式,他们都是把文字转成图片然后二值化拼接与图片拼接处理,最后是一张图片的内容下发;
4.如果对第三点无法理解,你直接搜佳博,有对应的 sdk 提供出来,包括说 usb 打印这些其实都是要对应的打印驱动去支持的,另外移动端等也是有对应的 sdk
realpg
1 天前
路线错了

如果你不想依赖第三方服务, 写一个 windows 原生程序后台 service 启动后 http 监听本地一个端口起 web 服务, 用它调用打印机 暴露 web 接口给你的 web app
xj3hd
1 天前
我做过,用的是 espon 家的热敏小票打印机
这个打印机支持会自带 http 服务,可以直接通过 http 接口调用的形式直接打印小票

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1166792

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX