如何获取Node.Js中所有已安装/连接的打印机的列表

时间:2017-07-18 07:01:38

标签: node.js electron

我正在使用Electron框架在Node.Js中创建一个桌面应用程序,并希望得到Node.Js中安装/连接的所有打印机的列表。 我有已经尝试过的节点打印机,但是安装不正确。

3 个答案:

答案 0 :(得分:1)

 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);
});

答案 1 :(得分:0)

检查此节点包。 https://www.npmjs.com/package/zuzel-printer

var Printer = require('zuzel-printer');
// Get available printers list
Printer.list();

答案 2 :(得分:0)

如果您的目标是 Windows 机器,您可以使用 winreg 包在注册表中搜索打印机。所有本地打印机都可以在

找到

HKEY_LOCAL_MACHINE | SYSTEM | CurrentControlSet | Control | Print | Printers

,网络打印机

HKEY_LOCAL_MACHINE | SYSTEM | CurrentControlSet | Control | Print | Providers | LanMan Print Services | servers | printers