2017-03-21 2 views
0

Ich habe eine Ionic App (AngularJS), und ich muss die Ansicht einer App (als PDF) drucken. Derzeit verwende ich cordova-plugin-printer, aber wenn ich versuche, die Seite zu drucken, erhalte ich einen Fehler.Ionic print to PDF die aktuelle Seite

Dies ist mein Code. Drucker ist verfügbar (unter Verwendung von Android 4.4.2 und 5.1 im Emulator), aber immer kommt es zu einem Fehler beim Abrufen der Seite. Und nichts funktioniert.

$scope.print = function() { 
    if($cordovaPrinter.isAvailable()) { 
     var page = location.href; 
     $cordovaPrinter.print(page, "Document"); 
    } else { 
     alert("Printing is not available on device"); 
    } 
} 

Ich brauche eine Tabelle mit Zeilen wie diese drucken:

<tr ng-repeat="data in tableData"> 
    <td>{{ data.id }}</td> 
    <td>{{ data.field_one}}</td> 
    <td>{{ data.field_two }}</td> 
</tr> 

Und ich habe Angst vor meinem Plugin nicht die geschweiften Klammern Syntax unterstützt ...

Antwort

0

Endlich fand ich eine Lösung, die ein PDF erstellt (ich folgte Ashteya Biharisingh's tutorial) und es in eine Datei writete, die $cordovaFile verwendet.

1

Verwenden Document.html statt Document

$scope.print = function() { 
if ($cordovaPrinter.isAvailable()) { 
    var page = location.href; 
    $cordovaPrinter.print(page, "Document.html"); 
} else { 
    alert("Printing is not available on device"); 
} 

}

+0

Funktioniert nicht. Jedenfalls habe ich einen anderen Weg gefunden, eine Datei zu erstellen, statt sie zu drucken. –

0

Versuchen Sie dies in Ihrem Code.

var page = "//html tag as u want to print table//'; 
$cordovaPrinter.print(page, 'Document.html'); 

Ich glaube, Sie vergessen $cordovaPrinter in Ihrem Controller zu erklären.

+0

Ich löste es mit '$ cordovaFile', aber danke für die Antwort :) –