代码之家  ›  专栏  ›  技术社区  ›  Shreyas Pednekar

@ionic native/打印机不工作

  •  0
  • Shreyas Pednekar  · 技术社区  · 7 年前

    我已经使用以下命令行安装了插件:

        npm install --save @ionic-native/printer
    

    然后在viewbill中。html我放了一行激活打印机:

        <button ion-button (click)="print()">
        <ion-icon name="print">
          </ion-icon>
          Print
        </button>
    

    然后是我的账单。ts代码:

    import { Component } from '@angular/core';
    import { IonicPage, NavController, NavParams, Platform, AlertController } from 'ionic-angular';
    import { Printer, PrintOptions } from '@ionic-native/printer';
    
    @IonicPage()
    @Component({
      selector: 'page-viewbill',
      templateUrl: 'viewbill.html',
    })
    export class ViewbillPage {
    
      public srNo = [];
      public particulars = [];
      public particularAmt = [];
      constructor(public navCtrl: NavController,
                  public navParams: NavParams,
                  public printer: Printer,
                  public platform: Platform,
                  public alertCtrl: AlertController) {
      }
    
      ionViewDidLoad() {
        console.log('ionViewDidLoad ViewbillPage');
        this.srNo = [
          {no: '1'},
          {no: '2'},
          {no: '3'}
        ];
    
        this.particulars = [
          {particular: 'Particular 1'},
          {particular: 'Particular 2'},
          {particular: 'Particular 3'}
        ];
    
        this.particularAmt = [
          {amount: '100'},
          {amount: '500'},
          {amount: '1000'}
        ];
      }
    
      print(){
        if(this.platform.is('cordova')){
          if(this.printer.isAvailable())
          {
            let options: PrintOptions = {
              name: 'Bill Report',
              duplex: true,
              landscape: true,
              grayscale: true
            };
            var page = document.getElementById('billReport');
            this.printer.print(page, options);
          }
          else{
            this.alert('Please connect your device to a printer!');
          }
        }
        else{
          this.alert('You are on a web browser!');
        }
      }
    
      alert(message: string) {
        this.alertCtrl.create({
          title: 'Info!',
          subTitle: message,
          buttons: ['OK']
        }).present();
      }
    }
    

    每当我点击打印按钮时,什么都不会发生!

    有没有人对这个插件有这样的问题?我做错什么了吗?我应该安装其他东西来解决问题吗?有没有人有一个范例项目工作得很好?

    非常感谢你!

    1 回复  |  直到 7 年前
        1
  •  0
  •   Suraj Rao Raas Masood    7 年前

    您似乎错过了安装codrova插件的步骤:

    ionic cordova plugin add de.appplant.cordova.plugin.printer
    

    ionic native包是上述插件的包装器。检查文档 here