所以我问了这个question但从未得到任何有用的答案,所以我试图改变我对此的看法。
基本上,该技术不适用于除运行 4.4 的设备以外的 Android 设备上的 Web 打印
所以我的下一个最佳解决方案是使用点击功能截取我的用户输入。然后它需要触发另一个函数来从连接到它的打印机打印图像。
虽然我曾使用服务器进行打印,但这意味着我需要为其安装 8 台以上的打印机,并让每台平板电脑从特定打印机进行打印,这似乎是一个肮脏的解决方案。
上面显示了我正在做的事情的基本网络布局。我们将使用 OTG 电缆连接打印机...问题是平板电脑需要与一台打印机结合,并且必须从该打印机打印,这也是通过服务器并不是最佳计划的原因。
我还考虑过将输入转换为 Canvas ,然后将 Canvas 保存为图像,这是我认为最好的解决方案。
任何帮助或建议都将不胜感激,我希望有人能提供解决方案。
PS:我不能使用第 3 方应用程序,因为设备将被锁定并且用户只有最低限度的访问权限,我们希望这是自动化的,而不是用户必须首先接受的请求。
编辑:正如指出的那样,我没有直接提出问题,对此我深表歉意,所以就这样吧。 谷歌云打印是一个选项,但由于无法在将部署它的特定区域访问互联网而被排除。
我的问题是它们是否是一个可以被触发以强制设备打印而不是导航到所述图像进行打印的功能?
最佳答案
如@user3427079 所述,您可以设置打印服务器并通过它重新路由打印操作。 如果您要打印的页面是静态的或仅取决于您可以转发到打印服务器的数据,那么您可以简单地将其 url 和这些数据推送到打印服务器并让它完成其余的工作。 如果页面根据用户输入或用户 session 数据在客户端更改其外观,则您将被迫向打印服务器发送页面的静态 View ;你可以使用WebView.capturePicture()方法将页面作为图像获取。 在任何情况下,打印请求都应该是一个简单的 HTTP post,其中包含打印信息,即要打印的内容(页面的 url 或作为附件的图像)和打印位置(哪台打印机)。 如果您已将页面 url 发送到打印服务器,服务器应在嵌入式浏览器中呈现该页面并发出打印命令。 如果您将页面作为图像发送,那么服务器应该只打印它。
关于android - 从 Android 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26177595/