1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-19 16:01:34 +02:00

Display client signature on the PDF

This commit is contained in:
Hillel Coren 2017-12-27 13:10:59 +02:00
parent 91e536503b
commit 03a275847f
3 changed files with 19 additions and 12 deletions

File diff suppressed because one or more lines are too long

View File

@ -33,7 +33,7 @@ function generatePDF(invoice, javascript, force, cb) {
invoice = calculateAmounts(invoice);
invoice = convertSignature(invoice);
// convertSignature returns false to wait for the canvas to draw
// convertSignature returns false to wait for the canvas to draw
if (! invoice) {
return false;
}

View File

@ -181,6 +181,7 @@
$('#moreDesignsModal').modal('show');
}
window.signatureAsPNG = false;
function convertSignature(invoice) {
if (! invoice || ! invoice.invitations || ! invoice.invitations.length) {
return invoice;
@ -190,18 +191,24 @@
if (! sourceSVG || sourceSVG.indexOf('data:image') == 0) {
return invoice;
}
if (window.signatureAsPNG) {
invoice.invitations[0].signature_base64 = window.signatureAsPNG;
return invoice;
} else {
var signatureDiv = $('#signatureCanvas')[0];
var ctx = signatureDiv.getContext('2d');
var img = new Image();
img.src = "data:image/svg+xml;base64," + sourceSVG;
img.onload = function() {
ctx.drawImage(img, 0, 0);
var blankImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=';
var image = signatureDiv.toDataURL("image/png") || blankImage;
window.signatureAsPNG = invoice.invitations[0].signature_base64 = image;
refreshPDF();
}
var signatureDiv = $('#signatureCanvas')[0];
var ctx = signatureDiv.getContext('2d');
var img = new Image();
img.src = "data:image/svg+xml;base64," + sourceSVG;
img.onload = function() {
ctx.drawImage(img, 0, 0);
invoice.invitations[0].signature_base64 = signatureDiv.toDataURL("image/png");
refreshPDF();
return false;
}
return false;
}
</script>