Node JS - Использовать принтер (аппаратное обеспечение)

Я разрабатываю приложение с Angular JS и Node JS, где мне нужно видеть все доступные принтеры на компьютере пользователя, чтобы пользователь мог выбрать один из них и распечатать квитанцию.

Есть ли способ достичь этого?

Ответ 1

Я сделал такое приложение. Я сделал это, используя http://nwjs.io/ и модуль в комментарии: https://www.npmjs.com/package/printer, вот рабочий код с этим модулем, который печатает raw в принтере по умолчанию файл:

var printer = require('printer');
var fs = require('fs');

var info = fs.readFileSync('ticket.txt').toString();

function sendPrint() {
  printer.printDirect({
    data: info,
    type: 'RAW',
    success: function (jobID) {
      console.log("ID: " + jobID);
    },
    error: function (err) {
      console.log('printer module error: '+err);
      throw err;
    }
  });
}

sendPrint();

вы можете адаптировать его для использования метода getPrinters() для перечисления всех установленных принтеров, а затем разрешить пользователю выбирать желаемый.