Come creare un pdf in html e Javascript con PdfMake



Uno dei problemi da affrontare, durante lo sviluppo di applicazioni web, è quello di come creare un report pdf. Con PdfMake ora si può.
di Antonio Lamorgese


Uno dei problemi da affrontare, durante lo sviluppo di applicazioni web, è quello sucome creare un pdf in html, o meglio, creare report per la stampa di modulistica di vario genere, accedendo a informazioni spesso memorizzate su archivi di database.

Fino a non molto tempo fa, progettare report di stampa in pdf, da applicazioni web è stato possibile facendo ricorso a strumenti come, ad esempio, “Jasper Report”. Questo strumento, tra l’altro gratuito e interamente scritto in  Java  è tutt’ora una vera e propria manna dal cielo per gli sviluppatori Java.

Alla stessa stregua di Jasper Report, uno sviluppatore PHP, può contare su “PHPJasper”, una delle migliori soluzioni per compilare e processare Jasper Report in ambiente PHP.

Questi strumenti, per quanto validi, riescono acreare pdfin html, partendo da una base dati e integrando le istruzioni di produzione del report in una qualunque classe Java o script PHP.

Sia Jasper Report che PHPJasper producono report in pdf da software  lato server . Invece a noi, potrebbe essere utile, creare pdf direttamente lato client. Cioè, creare pdf direttamente da Javascript.

L’operazione è possibile oltre che semplice, grazie ad una delle librerie più utilizzate del momento, cioèPdfMake.

In questa guida, ti spiegherò come integrare PdfMake in una pagina HTML e creare PDF nel giro di pochissimi minuti.

crea pdf

1. Integrare PdfMake in una pagina HTML

Se stai leggendo questa guida, avrai già creato, in passato, una tua pagina HTML, perciò sai di cosa sto parlando, ad ogni modo visto l’argomento, è bene cominciare sin dall’inizio. Tanto per iniziare ti do una bella notizia, per questo nostro progetto non ci serve un  server web . Questo perché PdfMake, è una libreria scritta interamente in puro  codice Javascript , e di conseguenza, eseguibile direttamente tramite un normalissimo browser web. L’unica cosa di cui hai bisogno è un buon editor di testi, io ti consiglio vivamente  Visual Studio Code , per questo e per i tuoi progetti futuri.

READ Clonare SSD gratis da command line

LEGGI ANCHE:Il miglior modo di fare pratica come sviluppatore web.


Procediamo con il nostro progetto e implementiamo tutto quello che è necessario per processare i nostri report con PdfMake. Quindi, crea una nuova cartella sul desktop e chiamalapdfmake, in questa cartella crea un file con estensionehtmle chiamaloindex. Ora, copia e incolla, questo codice all’interno del file index.html appena creato.Se hai fretta puoi scaricare direttamente il progetto cliccando qui.

crea pdf con pdfmake e visual studio code

Attenzione alladirettiva <!DOCTYPE html>, questa prima riga non deve mai mancare all’inizio di una pagina html il perché puoi leggerlo direttamente aquesto indirizzo. Abbiamo visto, in precedenza che, PdfMake è una  libreria Javascript , pertanto è buona norma, quando devi prelevare librerie Javascript da integrare nella tua pagina html, raggiungere il portalecdnjs.com, cercare ed eventualmente scaricare le librerie che ti occorrono, solo ed esclusivamente daquesto portale.

Pertanto, le librerie in questione sono: JQuery e PdfMake. Infatti tra i tag <script></script> sono stati inclusi i link di accesso ad entrambe le librerie, prelevati dacdnjs.com, compresa anchevfs-fontsnecessaria a pdfmake per funzionare correttamente.

2. Come processare il tuo PDF con PdfMake

Come hai senz’altro già potuto notare dando un’occhiata al codice, tutto il codice per creare pdf con pdfmake è incluso nella funzione javascriptCreaPDF(),agganciata all’evento onclick del pulsante “Crea PDF.Infatti, tutto quello che devi fare è includere il tuo report all’interno della variabilecontent, e processare il suo contenuto, creando il relativo pdf, con questa istruzione:

var output.CreatePdf = pdfMake.createPdf(dd).open();

Ora, apri il fileindex.html, con il tuo browser predefinito, e clicca sul pulsante “Crea PDF”. In meno di un secondo PDfMake processerà il contenuto della variabilecontent, contenuta all’interno dell’oggettodd, e il tuo primo report in pdf prenderà vita.

READ Javascript Local Storage: Il browser come datastore
pdfmake in azione

Adesso non ti resta che, raggiungere l’indirizzo diPdfMake/PlayGround, dove sono contenuti vari tipi di report che puoi copiare e incollare sostituendo interamente il contenuto della funzioneCreaPdf(), esclusa la riga di codice menzionata sopra, cioè quella che processerà l’intero pdf.

Potrai, così, apprezzare le straordinarie funzionalità di PdfMake e il modo semplice e veloce per creare report in puro codice javascript.

3. Conclusioni

PdfMake, non è l’unica libreria javascript utilizzata per creare pdf lato client, ne esistono di altre, ma a mio avviso è senz’altro la migliore. Se hai avuto modo di provare gli esempi suPdfMake/PlayGround, avrai capito che, con PdfMake potrai realizzare qualunque tipo di report a tuo piacimento.

Ad ogni modo, seguendo questo video, potrai vedere passo-passo la realizzazione di report in pdf in Javascript con PdfMake in pochissimi secondi.

Come generare documenti PDF con Javascript

Antonio Lamorgese

Amministratore di rete e sviluppatore. Dopo anni di esperienza nel settore, ho ideato un sistema di gestione dati MYSQL in PHP senza scrivere una sola riga di codice. Scopri di più....