我在SenchaTouch中创建应用程序。另外我将使用PHONEGAP为ios,android和黑莓部署。在应用程序中,我需要打印一些细节,如收据。我不知道如何使打印功能应该与上述平台兼容。使用SenchaTouch使用Phonegap打印到外部收据打印机
我也需要获取打印机列表。
谢谢。
我在SenchaTouch中创建应用程序。另外我将使用PHONEGAP为ios,android和黑莓部署。在应用程序中,我需要打印一些细节,如收据。我不知道如何使打印功能应该与上述平台兼容。使用SenchaTouch使用Phonegap打印到外部收据打印机
我也需要获取打印机列表。
谢谢。
首先,您应该知道iOS仅支持选择HP打印机的空气打印。其次,我甚至不知道黑莓手机可以做到这一点,但我可能是错的。
您需要做的是编写phonegap代码,以便与iOS,Android的实现和BlackBerry的原生空白打印代码交互。
它可能不适合你特定的环境中工作,但这种解决方案将工作,如果你可以把精力:
设置接受要打印的数据的打印请求上的Web服务。然后编写一个小型Windows/Linux/OSX程序,用于轮询您的Web服务以获取新的打印作业。如果程序发现新的打印请求,则将其发送到正确的打印机。这可以写成一项服务,也可以作为计划任务运行。
现在,当您需要从您的移动应用程序进行打印时,它可以对您的Web服务进行ajax调用并发送要打印的数据。
重塑Google云打印? – Leonid 2013-02-18 10:52:21
我不能为Android或黑莓说话,但iOS应用可以打印两种类型的打印机:
注意:使用AirPrint时,您不必担心可用打印机的列表。用户将看到一个对话框,其中包含网络上所有可用AirPrint打印机的列表。您的打印作业将被发送到他们选择的任何打印机。
我发现了这个插件,但是不能在ipad上运行,请您提供一个例子吗? ... 转换。该项目,“sencha touch”+“index.html(从插件)”+“PhoneGap建设”打印按钮什么也不做 – cmujica 2012-06-25 18:52:02
的基本算法是通过编程实例化一个iframe
,与内容填充它,然后调用它的打印方法如下图所示:
// create print frame
var pFrame = Ext.get('printerFrame');
if (!pFrame) {
Ext.getBody().insertHtml("beforeEnd","<iframe id='printerFrame' style='display:none'> </iframe>");
pFrame = Ext.get('printerFrame');
}
var contentWindow = pFrame.dom.contentWindow;
contentWindow.document.body.innerHTML = 'This is some html';
contentWindow.print();
调用print()
方法推出了iOS打印机选择器,使您能够打印到任何AirPrint打印机。这种技术也应该适用于Ext JS 4.
你是如何实现它的?我需要做一些非常相似的事情。 – 2012-03-28 15:15:05