在一个项目中,我尝试使用 Chrome 中可用的 WebUSB API 来使用 Zebra LP2844 打印机进行打印。
我在 OSX 上毫无问题地取得了成功,并最终在 Ubuntu 和 ChromeOS 上取得了成功,这要归功于这篇讨论解除内核驱动程序绑定以便 Chrome 能够访问设备的帖子。
我为此使用的页面通过https 提供,因为文档需要它。
但是,在 Windows 10 上,我可以使用 navigator.usb.requestDevice 连接到打印机,如下所示
但是当我在打印例程期间在连接的打印机上调用 open() 时,我不断收到下一个错误
错误 DOMException:访问被拒绝。
这是打印方法代码:
print : async function(printString) {
let startTime = new Date().getTime();
if (!this.pairedPrinter) {
console.log("No printer connected");
return;
}
try {
if (!this.pairedPrinter.opened) {
await this.pairedPrinter.open();
}
await this.pairedPrinter.claimInterface(0);
let encoder = new TextEncoder();
const printBuffer = encoder.encode(printString);
let printResult = await this.pairedPrinter.transferOut(6, …Run Code Online (Sandbox Code Playgroud)