是否可以访问安装在网络中的打印机 谷歌浏览器打包应用程序.



我正在构建一个Google Chrome打包应用程序。我需要通过"封闭"网络(未作为USB连接(访问可用的打印机。显然,Chrome云打印API不是我的选择,因为我谈论的是"封闭"网络,因此无法访问互联网(此外我需要非常快速地打印,所以即使我有互联网,我也负担不起通过云并等待几秒钟打印。我已经完成了我的研究,到目前为止,这似乎在谷歌浏览器打包应用程序中是不可能的。如果我忽略了某些内容,或者是否有解决方法,请告诉我。

非常感谢。

如果打印机在同一网络中可用,则可以使用带有套接字 API 的网络通信来访问它。

如果你同意在打印前要求用户确认,那么你可以使用window.print((,它在Chrome应用程序中工作,但有几个限制:1(有一个错误可能导致OS X(http://crbug.com/297179(崩溃,虽然这个错误在Chrome的Canary和Dev版本中得到了修复,但修复需要几周的时间才能进入测试版和稳定版; 2(在窗口和Linux/Chrome OS,打印预览面板的大小限制为正在打印的窗口的大小,因此您需要确保该窗口足够大,以使用户可以访问所有打印预览界面。

由于window.print((到目前为止在Chrome应用程序中尚未被大量使用,因此您可能会遇到其他人尚未看到的问题。如果您这样做,请在 http://crbug.com/new 报告。

如果您需要在没有用户确认的情况下进行打印,您的程序可能必须使用套接字 API 直接与您的打印机或打印服务器通信(如 xmarcos 在对此问题的另一个响应中所述(。您可能需要使用 pdf.js 之类的东西(如将画布转换为 pdf 中所述(将要打印的内容转换为 pinter 可以理解的内容。

相关内容

最新更新