lampuotomatis/public/build/libs/invoice/app.js

31 lines
1.3 KiB
JavaScript

$(function () {
'use strict';
/**
* Generating PDF from HTML using jQuery
*/
$(document).on('click', '#invoice_download_btn', function () {
var contentWidth = $("#invoice_wrapper").width();
var contentHeight = $("#invoice_wrapper").height();
var topLeftMargin = 20;
var pdfWidth = contentWidth + (topLeftMargin * 2);
var pdfHeight = (pdfWidth * 1.5) + (topLeftMargin * 2);
var canvasImageWidth = contentWidth;
var canvasImageHeight = contentHeight;
var totalPDFPages = Math.ceil(contentHeight / pdfHeight) - 1;
html2canvas($("#invoice_wrapper")[0], {allowTaint: true}).then(function (canvas) {
canvas.getContext('2d');
var imgData = canvas.toDataURL("image/jpeg", 1.0);
var pdf = new jsPDF('p', 'pt', [pdfWidth, pdfHeight]);
pdf.addImage(imgData, 'JPG', topLeftMargin, topLeftMargin, canvasImageWidth, canvasImageHeight);
for (var i = 1; i <= totalPDFPages; i++) {
pdf.addPage(pdfWidth, pdfHeight);
pdf.addImage(imgData, 'JPG', topLeftMargin, -(pdfHeight * i) + (topLeftMargin * 4), canvasImageWidth, canvasImageHeight);
}
pdf.save("sample-invoice.pdf");
});
});
})