JSPdf provides an API to generate PDF files on-the-fly using JavaScript.
This API is supported by all the HTML5 browsers ( IE6+*, Firefox 3+, Chrome, Safari 3+, Opera)
Download Latest JSPDF library from https://github.com/MrRio/jsPDF/zipball/master
1) How to Generate PDF with Javascript
//So simple var doc = new jsPDF(); doc.setFontSize(22); doc.text(20, 20, 'My First PDF'); doc.addPage(); doc.setFontSize(16); doc.text(20, 30, 'This is some normal sized text underneath.');
List of APIs provided by JSPDF.
//Create PDf var doc = new jsPDF(); //Create Landscape PDF var doc = new jsPDF('landscape'); //Saving docment using data-uri doc.save('out.pdf') //get the PDF buffer doc.output() //Set PDF properities doc.setProperties({ title: 'PDF Title', subject: 'This is the subject', author: 'Ravishanker Kusuma', keywords: 'pdf, javascript,geenerated', creator: 'KRS' }); //Set Font type,size & details doc.setFont("times"); doc.setFontType("italic"); doc.setFontSize(16); //Add text to pdf doc.text(X,Y, 'This is courier bolditalic.'); //X,Y are the position //Change Text color doc.setTextColor(150); //Adding a page doc.addPage(); //Adding a Line doc.setLineWidth(0.5); doc.line(X1, Y1, X2, Y2); // horizontal line //Draw Rectangle doc.setDrawColor(0); doc.setFillColor(255,0,0); doc.rect(X1, Y1, WIDTH, HEIGHT, 'F'); //F is for Fill doc.rect(X1, Y1, WIDTH, HEIGHT, 'D'); //D is for Draw doc.rect(X1, Y1, WIDTH, HEIGTH, 'FD'); //FD is for Fill and Draw //Draw Triangle doc.setLineWidth(1); doc.setDrawColor(255,0,0); doc.setFillColor(0,0,255); doc.triangle(X1, Y1, X2, Y2, X3, Y3, 'FD');//FD is for Fill and Draw
2).Download the generated PDF File
JSPDF lib generates pdf at the browser and provides an option(using data-uri) to download. But it is not working all browsers.
You can download the generated PDF using Downloadify plugin.
Downloadify plugin provides an option to download any file(not only pdf) generated at browser.
//'downloadify' is the div id //'Simple.pdf' is the output file. Downloadify.create('downloadify',{ filename: 'Simple.pdf', data: function() { var doc = new jsPDF(); doc.setFontSize(22); doc.text(20, 20, 'FirstPage: My First PDF'); doc.addPage(); doc.setFontSize(16); doc.text(20, 30, 'Second Page This is some normal sized text underneath.'); return doc.output(); }, onComplete: function(){ alert('Your File Has Been Saved!'); }, onCancel: function(){ alert('You have cancelled the saving of this file.'); }, onError: function(){ alert('You must put something in the File Contents or there will be nothing to save!'); }, downloadImage: 'images/download.png', swf: 'images/downloadify.swf', width: 100, height: 30, transparent: true, append: false });