Cordova打印插件只搜索打印机(在同一网络中启用了wifi的打印机),不打印或不给出任何错误

时间:2016-07-29 19:52:45

标签: cordova printing ionic-framework cordova-plugins printers

我正在构建一个Cordova应用程序,它允许我们从移动设备上打印。

我正在关注this plugin

我已经在设备就绪时直接添加了打印代码,因此在设备就绪时我可以选择另存为pdf并搜索打印机,直到这里每件事都运行良好 我在app.js中的代码

var printer = angular.module('starter', ['ionic','ngCordova'])

printer.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {
    cordova.plugins.printer.isAvailable(
    //Check whether the printer is available or not.
    function (isAvailable) {
         //Enter the page location.
         alert("printer is available")
         var page = location.href;
         cordova.plugins.printer.print(page, 'Document.html', function () {
         alert('printing finished or canceled')
});
    }
); 

因此,上面的代码打开对话框以在此处选择打印机,甚至提醒打印机可用的消息。

主要问题是当我选择搜索打印机时,它会不断搜索打印机,但在15分钟内没有回复,那里没有超时。我有一台通过局域网连接的wifi打印机。

我只是想知道在Android上打印的打印机是否有任何特定设置?

任何建议和帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是我使用打印机的代码。确保手机上安装了任何打印机服务。 cordova插件将调用该打印机服务,打印机服务将处理打印作业,而不是插件。

angular.module('app.services')
.factory('printService', function() {

    return {
        print: function(printingContent){

            var receipt ='<html>Hello</html>';

            cordova.plugins.printer.check(function (avail, count) {
                if(avail == true){
                    cordova.plugins.printer.pick(function (uri) {
                        //alert("Printer pick: " + uri);
                        cordova.plugins.printer.print(receipt, { duplex: 'long' }, function (res) {
                            alert(res ? 'Printing Done' : 'Printing Canceled');
                        });
                    });
                }                       
                else
                    alert('No printer service found');
            });

        }
    }
})