从Ionic 2应用程序打印不起作用

时间:2018-12-19 16:52:39

标签: cordova ionic-framework printing ionic2 ionic-native

我在people.ts中有以下代码:

export class People {

  constructor(public navCtrl: NavController, private printer: Printer) {}

  public Printyo(){
    console.log("in the printyo method");
    this.printer.isAvailable();
    let options: PrintOptions = {
     name: 'MyDocument',
     printerId: 'GuestPrint_iLab',
     duplex: true,
     landscape: true,
     grayscale: true
    };
    this.printer.print("yolo", options);
  }

}

people.html中,我有:

<ion-card (click)="Printyo()">
    <img src="assets/images/print.jpg"/>
    <div class="card-title">Print</div>
</ion-card>

我正在尝试这样做,以便如果单击ion-card,则会调用Printyo方法,并将字符串yolo发送到打印机。在IOS模拟器中运行此命令时,收到以下输出:[app-scripts] [11:42:13] console.log: in the printyo method,但未打印任何内容。没有错误。我很确定这是因为我没有正确设置printerId选项,但是我不确定如何正确设置它。我尝试过转到http://localhost:631/printers来查找打印机位置,但是对于该打印机,即使我知道已连接到打印机,但由于从该计算机进行打印没有问题,所以位置字段为空白。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您是否检查了从Promise返回的isAvailable?这将指示您设备是否可以打印。一旦这是真的,那么您就可以继续打印了。另外,print method仅在它是 URL 时接受string,否则您将需要传递 HTMLElement [innerHTML][2]方法的em>。