Webusb:拒绝尝试在Windows上打开打印机

时间:2017-11-06 18:09:57

标签: windows google-chrome printing point-of-sale webusb

我正在尝试允许POS网络应用使用Chrome webusb API直接打印到StarMicronics(或任何收据打印机)。

我几乎完全使用示例here,除了我已将vendorId过滤器修改为StarMicronics的供应商ID。我也试过一个完全空的过滤器。它在我测试它的Mac计算机上运行良好,但问题出在Windows上。

当我点击打印按钮时,Chrome会打开连接窗口,我的设备已列出,我可以选择它并点击连接。所以navigator.usb.getDevices()工作得很好。当我刷新窗口后,在将网站连接到设备后,Chrome会再次找到设备,没有问题。

当我尝试device.open()时出现问题。我在控制台中收到此错误:DOMException: Access Denied.从这一点开始,我无法执行device.selectConfiguration()device.claimInterface(),因为我收到设备必须首先打开的错误,显然

我在Chrome中启用了我知道的所有标记: #enable-experimental-web-platform-features #enable-webusb #new-usb-backend

但这一切都没有帮助。我还尝试过使用其他打印机,例如HP Deskjet和Dymo Label Writer,这些打印机都会出现相同的错误消息,即拒绝访问。

同样,它在Mac上运行良好。

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

你得到了#34;访问被拒绝" Windows上的错误,因为已经有一个已声明该设备的驱动程序。 Windows驱动程序模型要求" winusb.sys"驱动程序将加载任何将由Chrome等用户空间应用程序访问的设备。

请参阅my answer之前关于在Windows上遇到相同难度的智能卡读卡器的问题。