jsPDF es una interesante biblioteca JavaScript para la creación de documentos PDF sin utilizar en ningún momento un lenguaje del lado del servidor, realizando todo el trabajo del lado del cliente, con las ventajas que esto supone.
Un punto favorable es que si bien la biblioteca fue creada para ser ejecutada del lado del cliente sin la necesidad de utilizar recursos del servidor, al menos a nivel de procesamiento, también puede ser adaptada perfectamente para funcionar de manera interna, esto sin realizar demasiados cambios.
Crear un PDF solo con JavaScript
var doc = new jsPDF(); doc.text(20, 20, 'Hello world!'); doc.text(20, 30, 'This is client-side Javascript, pumping out a PDF.'); doc.addPage(); doc.text(20, 20, 'Do you like that?'); // Output as Data URI doc.output('datauri');
Crear un PDF con elementos gráficos
var doc = new jsPDF(); doc.rect(20, 20, 10, 10); // empty square doc.rect(40, 20, 10, 10, 'F'); // filled square doc.setDrawColor(255,0,0); doc.rect(60, 20, 10, 10); // empty red square doc.setDrawColor(255,0,0); doc.rect(80, 20, 10, 10, 'FD'); // filled square with red borders doc.setDrawColor(0); doc.setFillColor(255,0,0); doc.rect(100, 20, 10, 10, 'F'); // filled red square doc.setDrawColor(0); doc.setFillColor(255,0,0); doc.rect(120, 20, 10, 10, 'FD'); // filled red square with black borders // Output as Data URI doc.output('datauri');
El punto a destacar de este proyecto es como utiliza de forma creativa las Data URIs para pasar la información a formato PDF, una solución sencilla y eficiente a un problema que no podía ser resuelto de manera tan sencilla.
Utilizar esta biblioteca es realmente fácil. En el sitio oficial del proyecto encontraran varios ejemplos 100% funcionales.
Web: jsPDF