Open bqrfvatj opened 6 years ago
dom 无法直接打印 一般使用Electron 将网页转换为pdf 再打印 但是windows并不支持打印pdf 需要再转换 但是这一步现在没有人完成它 所以这个项目并不能在windows下打印网页
不过有一些曲线救国方案 需要安装PostScript版本驱动 然后将pdf转换为PostScript 再RAW打印 如果你懂c语言的话 你可以尝试完善这个项目 如果不懂的话 我推荐你不要在这里浪费时间了
@xioxin 谢谢你的建议! 我原本的需求是在网页中指定本地的某一打印机进行静默打印,最后需要用node -webkit 将网页打包成桌面APP,看到这个才去尝试学了一下nodejs,不知道方向错了没有,或者有别的什么途径可以解决我的问题吗?
暂时 nodejs 想实现静默打印网页还没有好的解决方案
@xioxin 你好,我在electron中想调用打印机把图片打印出来,但我现在测试直接在nodejs中调用print_raw.js这个例子测试打印文本,结果打印机没有响应,这是什么原因?
let data = "N\nS4\nD15\nq400\nR\nB20,10,0,1,2,30,173,B,barcode\nP0\n";
printer.printDirect({
data:data, printer: printerName, type: "RAW",
success:function(){console.log("printed: success")},
error:function(err){console.error(err);}
})
调用后返回的是:
printed: success
但去没有执行打印,求助,谢谢
@so2bin 在windows下RAW会被发送给windows的打印管理来处理 但是并不支持代码。在mac下可以使用 代码会被直接发给打印机
@bqrfvatj 有一个途径,将dom转换成图片,任何打印机都支持图片,如果是针式或热敏的可以转换成光栅图用指令的形式发送给打印机
hi ! my os is windows, how to use 'node-printer' in html ?
printer.printDirect({data: dom.getElementById('printpage') , printer: 'NPI145676 (HP LaserJet M1536dnf MFP) (副本 1)' , type: "dom" , success:function(){ console.log("ok"); } , error:function(err){console.log(err);} });