记录一次electron-vite与热敏打印机通讯打印小票

公司项目之前使用的是b/s的客户端,老板说要改成c/s的,所以用electron直接打包城桌面程序,需要调用热敏打印机打印小票,记录一下需要的时候还得用。

1、研究了网上说通过创建一个不显示的窗口,然后用webContents.print进行打印。但是感觉这样打印小票太麻烦会不会打印量大了之后卡死,所有放弃这样打印,

2、在npm上找关于打印的包找了好久,找到escpos 和escpos-usb ,研究半天最后报错

LIBUSB_ERROR_NOT_SUPPORTED

没有权限,需要给打印机装WinUSB驱动,装上驱动之后程序打印可以了,但是在电脑上直接打印就不行了。

反正最后我还是通过调用C#的WritePrinter进行打印。

先安装electron-edge-js用来调用C#

npm i electron-edge-js
import edge from 'electron-edge-js';

 然后把dll文件放到reources文件夹下边,在主进程上引入dll文件,然后加载dll

import 引入地址的名称 from '../resources/dll文件名.dll?asset&asarUnpack';
const print = edge.func({
    assemblyFile: dll 文件地址,
    typeName: 类库名.类名,
    methodName: 方法名
  })

渲染进程:


var print_arr= {
        szPrinterName: "GP-58MB Series",//打印机名称
        szString: "测试数据",
    };

window.ipcRenderer.s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值