我正在使用 NWJS (node-webkit) 作为需要打印的应用程序。从 docs 我看到我们可以使用
win.getPrinters(callback)
获取可用打印机的列表,但是无法知道哪一台已被设置为默认打印机(由操作系统?)。我觉得这是可能的,因为其他软件能够检测并自动选择默认打印机,这正是我想要做的。我没有看到任何其他功能可以对此有所帮助。
那么我们该怎么做呢?
使用节点模块。示例:
npm install --save systeminformation
const si = require('systeminformation');
si.printer()
.then((printers) => {
if (printers.length) {
const defaultPrinter = printers.find((printer) => {
return printer.default;
});
console.log({ printers, defaultPrinter });
} else {
console.log('No printers on this machine.');
}
});
.catch((error) => {
console.log('Error checking printers', error);
});