Чековый термопринтер в электронном - PullRequest
0 голосов
/ 12 ноября 2018

Мне нужно найти способ печати квитанций в javascript от Электрон . Я уже пробовал QZ-TRAY , но он не работает из-за Электрон. Я также попробовал node-thermal-printer , но он также никогда не работал для меня. Кто-нибудь здесь знает, как вы можете распечатать квитанции, не спрашивая пользователя в javascript (Electron)?

1 Ответ

0 голосов
/ 17 января 2019

Цитирование соответствующих комментариев ...

«Ну, с QZ моя проблема была RSVP is not defined, а с нод-термопринтером принтер просто никогда не печатал».

"для QZ потребовалось все 20 секунд, чтобы найти это: https://qz.io/wiki/2.0-api-override"

Публикация в виде комментариев, предполагающих, что это работает. Кредиты @ gilbert-gabriel за помощь.

Обещания RSVP включены по умолчанию, но собственные обещания JS поддерживаются через:

qz.api.setPromiseType(resolver => new Promise(resolver));

Более полный пример:

// Install dependencies:
/*
   npm install qz-tray js-sha256
*/

// Provide API overrides and start talking to QZ Tray:    
import * as qz from 'qz-tray';
import { sha256 } from 'js-sha256';

qz.api.setSha256Type(data => sha256(data));
qz.api.setPromiseType(resolver => new Promise(resolver));

qz.websocket.connect()
 .then(qz.printers.getDefault)
 .then(printer => console.log("The default printer is: " + printer))
 .then(qz.websocket.disconnect)
 .catch(err => console.error(err));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...