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

5 天前
 0x01Dev

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

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

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

3602 次点击
所在节点    程序员
39 条回复
conglovely
5 天前
我们用 ZEBRA 的打印机,就用它家的 ZPL 指令去打,生成文件流图片转成 ZPL 去打印
EgbertW
5 天前
生成二值图像,用串口的方式,用 escpos 指令来打印。
zy0829
5 天前
@muxw6 配合客户端可以实现静默打印挺好的
ShundL
5 天前
Lodop 就行了,几年前做过要打印某种检测条码的贴纸,就是用的 lodop
Razio
5 天前
是不是你生成了图片,canvas 之类的,这种打印出来大概了模糊。lodop 啥的我觉得一般,简单的 html+css 打印都不会吗,这内容干了好几年了,不清晰的只能说是数据或者打印机自身配置的问题。所以其他人通常会用其他工具去减少这种问题,就比如 lodop 、菜鸟等
katalele
5 天前
之前用过,飞鹅打印机,感觉还不错。wifi ,直接调接口
wei619588621
5 天前
用 html 写页面,然后用 chromedp 转为 pdf,然后用 SumatraPDF 静默打印。
nullico
5 天前
同样做过打印的,其他楼没有做过小票/标签打印的就不要乱推荐了,不是你们认为的 pdf 打印,另外那个 lodop 不太建议,针对这种场景。只推荐看 18 楼的。另外再说一个坑,楼主是不想让商家更换打印机的话,那就做好有一堆坑的问题。比如,打印机打着打着不打了,打着打着打印机死机了之类的问题,尤其是蓝牙和网口打印机。
RogerL
5 天前
我之前做过前端的打印,用的串口
要求打印的东西比较复杂,所以是先转为了 PDF 再打印的,我是电脑上跑了一个本地服务,本地服务去调用 PDFtoPrinter 这个东西去做的打印,默认打印出来确实挺糊,转为 PDF 的时候可以设置清晰度,最好 2 倍以上,再缩放,这样就清楚了,但是缺点也有,jsPDF 在配置低的电脑上渲染相当慢
我是建议,如果没什么特别复杂的样式需求,最好直接用 escpos ,这块有条件可以让后端干,传数据就行
musi
5 天前
用 electron 包装一下,Failed to execute 'open' on’USBDevice':Access denied 猜测是产品自己的 usb 驱动把 libusb 给顶掉了。换成 libusb 就行了,可以把整个功能包装成一个应用,用应用去处理就好了
ratazzi
5 天前
Windows 压根不支持 PDF 打印的,都是要自己做栅格化的
aqqwiyth
5 天前
https://open.iot.kuaimai.com/#/cloudPrinter 试试我司一个产品配合 jssdk 可以实现需求
aqqwiyth
5 天前
不换硬件用用 lodop ,各大电商的打印控件也基本都是抄的 lodop
0x01Dev
4 天前
@musi 谢谢,报了一层 electron ,完美解决
demen
4 天前
如果不想用本地控件的方式,我试过一个牌子的芯烨( XINYE )的热敏打印机可以支持云端 api 来打印,非常的方便
cchan
4 天前
热敏打印机模糊的话可是看看是否分辨率够不够,一般物流面单 203PPI ,再清晰点的可试试 300PPI
asong
4 天前
@0x01Dev 最终是通过 包一层 electron 加 esc pos 指令实现的打印吗
KongLiu
4 天前
以前做过小程序热敏打印,用的 BLE 的
0x01Dev
4 天前
@asong 对的

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

https://ex.noerr.eu.org/t/1166792

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

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

© 2021 V2EX