javascript - 如何借助 javascript 查找打印机列表?

标签 javascript jquery

我想在 JavaScript 的帮助下找到可从我的 PC 访问的所有打印机。欢迎任何帮助;因为我已经花了很多时间;但我还远远没有找到合适的解决方案。

最佳答案

这是一个使用 node.js 的解决方案,假设您运行的是 Windows。 我使用了包node-powershell 。如果您使用的不是 Windows,则可以使用 child_process.exec 并运行此 Powershell 命令的 mac 等效命令。

powershell命令

get-WmiObject -class Win32_printer | ft name, systemName, shareName

将列出连接到计算机的所有打印机。

安装node-powershell后,以下Javascript将列出连接到计算机的所有打印机。

'use strict';

// get-WmiObject -class Win32_printer | ft name, systemName, shareName

var shell = require('node-powershell');

var ps = new shell({
  executionPolicy: 'Bypass',
  noProfile: true
});

ps.addCommand(' get-WmiObject -class Win32_printer | ft name, systemName, shareName');
ps.invoke().then(function (output) {
  console.log(output);
}).catch(function (err) {
  console.log(err);
  ps.dispose();
});

测试运行的输出(我使用的是带有 Node 6.10 的 Windows 10)

>node list_printers.js
NPS>  Process 100328 started

NPS>  Command invoke started
NPS>   get-WmiObject -class Win32_printer | ft name, systemName, shareName
NPS>  Command invoke finished


name                                     systemName   shareName
----                                     ----------   ---------
Send To OneNote 2016                     THINKPAD-P50
Quicken PDF Printer                      THINKPAD-P50
Microsoft XPS Document Writer            THINKPAD-P50
Microsoft Print to PDF                   THINKPAD-P50
HP Officejet 5740 series                 THINKPAD-P50
Foxit Reader PDF Printer                 THINKPAD-P50
Fax - HP Officejet 5740 series (Network) THINKPAD-P50
Fax                                      THINKPAD-P50
Brother MFC-9330CDW Printer              THINKPAD-P50

关于javascript - 如何借助 javascript 查找打印机列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582476/

相关文章:

Javascript - 没有 float 的双值?

jquery - 具有多个表格的可滚动 div

javascript - 如何在元素移动时移除悬停状态

javascript - 附加 document.body innerHTML 后,Jquery datepicker 不起作用

javascript - 在 JavaScript/jQuery 中随机化 3 个数组

javascript - 平移/缩放 d3.js 图表中新添加的点

javascript - 函数 setTimeout 抛出错误

jquery - 将鼠标悬停在 <a> 标签上时子菜单不会停留

javascript - AngularJS - Controller 代码是逐行执行的吗?

javascript - jQuery 不执行具有新 id 的新元素的代码