How to convert HTML to pdf in angular2?

Munish Sharma picture Munish Sharma · Mar 20, 2017 · Viewed 9.5k times · Source

I need to convert Dynamic generated html table in to pdf and able to print it too. I need it to be done in angular2 and Typescript.

Answer

Leonardo Venoso picture Leonardo Venoso · May 2, 2017

JSPDF works for angular 2. You need to download the definitions from dt~. Import the library as:

import * as jsPDF from "jspdf";
.
.
.

let doc = new jsPDF();

// Add a title to your PDF
doc.setFontSize(30); 
doc.text(12, 10, "Your Title");

// Create your table here (The dynamic table needs to be converted to canvas).
let element = <HTMLScriptElement>document.getElementsByClassName("pvtTable")[0];
html2canvas(element)
.then((canvas: any) => {
    doc.addImage(canvas.toDataURL("image/jpeg"), "JPEG", 0, 50, doc.internal.pageSize.width, element.offsetHeight / 5 );
    doc.save(`Report-${Date.now()}.pdf`);
})

In your system.js, in the map section add this line:

"jspdf": "<myLibs>/jspdf.js",