const { exec } = require('child_process');
exec('wmic printer list brief', (err, stdout, stderr) => {
if (err) {
// node couldn't execute the command
return;
}
// list of printers with brief details
console.log(stdout);
// the *entire* stdout and stderr (buffered)
stdout=stdout.split(" ");
var printers=[];
j=0;
stdout = stdout.filter(item => item);
for (i = 0; i < stdout.length; i++)
{
if(stdout[i]==" \r\r\n" ||stdout[i]=="\r\r\n")
{
printers[j]=stdout[i+1];
j++;
}
}
// list of only printers name
console.log(printers);
console.log(stderr);
});
4条答案
按热度按时间yfjy0ee71#
qc6wkl3g2#
检查此节点程序包。https://www.npmjs.com/package/zuzel-printer
6za6bjd03#
这非常简单。您将得到如下所示的打印机列表
它将返回一个promise。以前使用的是
getPrinters()
方法,但现在已弃用。请参考官方文档k3bvogb14#
如果以Windows计算机为目标,则可以使用
winreg
程序包在注册表中搜索打印机。所有本地打印机都可以在HKEY_LOCAL_MACHINE | SYSTEM | CurrentControlSet | Control | Print | Printers
中的网络打印机
HKEY_LOCAL_MACHINE | SYSTEM | CurrentControlSet | Control | Print | Providers | LanMan Print Services | servers | printers