2015-01-21 3 views
8

Wie der Titel sagt, gibt es einen PDF Creator/Generator für Angular?Angular JS generiert PDF - alle Schöpfer - Hersteller Module?

Ich habe https://github.com/MrRio/jsPDF gesehen, kann aber keine für Angular finden. Ich möchte eine HTML-Seite zu einer PDF-Datei zum Download machen.

+1

Ich habe die gleiche Frage. Ich habe versucht, jsPDF, aber es hat einige Probleme, wie Ausrichtungsprobleme. Manchmal scheint es so, als ob einige Ebenen den Rand der Eltern überlappen und manchmal erscheint das Bild nicht. Also, ich frage mich, ob es eine AngularJS-Bibliothek oder eine andere alternative Bibliothek/Modul zum Erstellen von PDF aus der Webseite gibt. –

+1

Verwenden Sie diese Lösung von einer 99% ähnlichen Frage hier: http://stackoverflow.com/questions/34049956/generate-pdf-from-html-using-pdfmake-in-angularjs – PSyLoCKe

Antwort

6

Sie können das JavaScript-Projekt, das Sie erwähnt haben, in einen Dienst einfügen, den Sie in Ihrer App aufrufen. Dies ist eigentlich eine Standardmethode und isoliert auch Ihren Code, wenn Sie jemals die zugrunde liegende Implementierung ändern müssen.

+13

Wie kann dies erreicht werden? – Sole

1

Sie können window.print() verwenden, das das aktuelle HTML-Dokument druckt. Verwenden Sie Medienabfragen, um Styles-Dokumente anzupassen.

$scope.print = function() { 
    console.log('modal print'); 

    var table = document.querySelector('.CSSTableGenerator').innerHTML; 
    var myWindow = window.open('', '', 'width=800, height=600'); 
    myWindow.document.write(table); 
    myWindow.print(); 

    }; 
+0

Kannst du eine Geige zusammensetzen? Abit verwirrt, wie das funktionieren würde? – Sole

+0

Auch welche Markup für die Schaltfläche würde verwendet werden? – Sole

+0

http://jsfiddle.net/cSN9G/2/ – Mike

5

Sehen aus wie @ Mike es dort in der Nähe hatte: Sie können das Dokument in der Fliege und Anruf Druck, wenn Sie wollen

@media print { 
/* All your print styles go here */ 
#header, #footer, #nav { display: none !important; } 
} 

Einiger Code von einem meines Projekt, Druck einziger Inhalt aus der Tabelle bauen. Ein paar schnelle Änderungen erzeugten eine anständig aussehende Datei und brachten ein Druck-Pop-up hervor.

1 - Geben Sie den Bereich, den Sie

2 eine ID von 'print' drucken möchten - Fügen Sie den $window Service

$scope.printIt = function(){ 
    var table = document.getElementById('printArea').innerHTML; 
    var myWindow = $window.open('', '', 'width=800, height=600'); 
    myWindow.document.write(table); 
    myWindow.print(); 
}; 
+0

Dies ist eine gute Idee. Aber was ich suche, ist eine Lösung ähnlich wie "Exportieren nach Excel", wo der Benutzer auf eine Schaltfläche klickt und die Datei für Sie heruntergeladen wird. Nur in meinem Fall möchte ich eine "Export to PDF" -Option. –

+1

Das ist gut, wenn Sie ein Dokument drucken möchten. –