2015-01-21 19 views
8

Come dice il titolo, c'è qualche creatore/generatore di PDF per Angular?JS angolare che genera PDF - tutti i moduli creatore-creatore?

Ho visto https://github.com/MrRio/jsPDF, ma non ne trovo nessuno per Angular. Voglio fare una pagina html in un file pdf per il download.

+1

Ho la stessa domanda. Ho provato jsPDF ma ha alcuni problemi, come problemi di allineamento. A volte sembra che alcuni livelli si sovrappongano al bordo del suo genitore e alcune volte l'immagine non appare. Quindi, mi chiedevo se c'è una libreria AngularJS o qualsiasi altra libreria/modulo alternativo per la creazione di PDF fuori dalla pagina web. –

+1

Utilizzare questa soluzione da una domanda simile al 99% qui: http://stackoverflow.com/questions/34049956/generate-pdf-from-html-using-pdfmake-in-angularjs – PSyLoCKe

risposta

6

Puoi racchiudere il progetto JavaScript che hai citato in un servizio che chiami per tutta la tua app. Questa è in realtà una pratica piuttosto standard e isola anche il codice se è necessario modificare l'implementazione sottostante.

+13

Come si può ottenere questo risultato? – Sole

1

È possibile utilizzare window.print() che stampa il documento HTML corrente. Utilizzare le query multimediali per regolare il documento degli stili. È possibile costruire il documento in volo e stampa chiamare in qualsiasi momento si desidera

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

Alcuni codice da uno del mio progetto, solo i contenuti di stampa dalla tabella:

$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

Puoi mettere insieme un violino per questo? Abit confuso su come funzionerebbe? – Sole

+0

Anche quale markup per il pulsante verrebbe utilizzato? – Sole

+0

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

5

Sembra @ Mike fosse chiudere lì. Alcune modifiche rapide hanno generato un file dall'aspetto decente e hanno generato un pop-up di stampa.

1 - Dare l'area che si desidera stampare un ID di 'printArea'

2 - Aggiungere il $window servizio

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

Questa è una buona idea. Ma quello che sto cercando è una soluzione simile a "Esporta in Excel" dove l'utente fa clic su un pulsante e il file viene scaricato per te. Solo nel mio caso voglio l'opzione "Esporta in PDF". –

+1

Ciò è utile quando si desidera stampare un documento. –

Problemi correlati