我正在制作Google Chrome打包应用。我要求通过“封闭”网络(未连接为USB)访问打印机。显然Chrome Cloud Print API不是我的选择,因为我说的是“封闭”网络,因此没有互联网接入(除了我需要打印非常快,所以即使我有互联网,我也无法通过云进行等待几秒钟打印。)我已经完成了我的研究,到目前为止,谷歌Chrome打包应用程序似乎无法做到这一点。如果我忽略了某些内容,或者是否有解决方法,请告诉我。
非常感谢。
答案 0 :(得分:0)
如果打印机在同一网络中可用,则可以使用Network Communications使用Sockets API访问该打印机。
答案 1 :(得分:0)
如果您在打印前要求用户确认没问题,那么您可以使用window.print(),它在Chrome应用程序中有一些限制:1)有一个错误可能导致OS X崩溃( http://crbug.com/297179),虽然此错误已在Chrome的Canary和Dev版本中得到修复,但修补程序需要几周才能进入Beta和Stable版本; 2)在Window和Linux / Chrome OS上,打印预览面板的大小仅限于正在打印的窗口大小,因此您需要确保窗口足够大,以使用户可以访问所有打印预览UI
由于目前在Chrome应用中尚未使用window.print(),因此您可能会遇到其他人未曾看过的问题。如果您这样做,请在http://crbug.com/new报告。
如果您需要在没有用户确认的情况下进行打印,您的程序可能必须使用套接字API直接与您的打印机或打印服务器通信(如xmarcos在对此问题的另一个回复中所述)。您可能需要使用类似pdf.js(如Converting canvas to pdf所述)的内容将您想要打印的内容转换为您的品牌会理解的内容。