1 2 3 4 5 6 7 8 9 |
var element = document.getElementById('printParent'); var opt = { html2canvas: { scale: 1.2 }, jsPDF: { unit: 'pt', format: 'dl', orientation: 'portrait' } }; var worker = html2pdf().set(opt).from(element).save(); |
Decreasing scale property decrease quality, size
You can use JsZip to compress the PDF, then generate a zip folder with your current PDF inside.
And you have to use the saveAs() methods from file-saver module.
here is what it look.
zip.file( "myFile.pdf", html2pdf(element, opt) .from(element) .set(opt) .output() ); zip .generateAsync({ type: "blob", compression: "DEFLATE", compressionOptions: { level: 9 } }) .then(res => saveAs(res, "myFolder.zip"));
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
var zip = new JSZip(); zip.file( "myFile.pdf", html2pdf() .from(element) .set(opt) .output('blob') ); zip.file( "myFile2.pdf", html2pdf() .from(element) .set(opt) .output('blob') ); zip .generateAsync({ type: "blob", compression: "DEFLATE", compressionOptions: { level: 9 } }) .then(res => saveAs(res, "myFolder.zip")); |