Skip to content

Commit 997186a

Browse files
committed
Change margin to a vector
1 parent 997756c commit 997186a

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

html2pdf.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,24 @@ function html2pdf(source, target, optPDF, margin, dpi) {
88
if (!source) return;
99
target = target || 'file.pdf';
1010
optPDF = optPDF || {};
11-
if (typeof margin !== 'number') margin = 1;
12-
dpi = dpi || 144;
11+
margin = margin || 1;
12+
dpi = dpi || 96*2;
13+
14+
if (margin.constructor !== Array) {
15+
margin = [margin, margin, margin, margin];
16+
} else if (margin.length === 2) {
17+
// Top, Left, Bottom, Right
18+
margin = [margin[0], margin[1], margin[0], margin[1]];
19+
}
1320

1421
// Get info (page width, height, and units) that will be used by jsPDF
1522
var info = jsPDF_getSize(optPDF);
1623

1724
// Calculate the div size (without margin) and aspect ratio
18-
var optCanvas = {width: info.width - margin*2, height: info.height - margin*2};
25+
var optCanvas = {
26+
width: info.width - margin[1] - margin[3],
27+
height: info.height - margin[0] - margin[2]
28+
};
1929
optCanvas.ratio = optCanvas.height / optCanvas.width;
2030

2131
// Make the template div that will be used as a model for the canvas
@@ -113,7 +123,7 @@ function html2pdf_makePDF(canvas, target, optCanvas, optPDF, margin) {
113123
// Add the page to the PDF
114124
if (page) pdf.addPage();
115125
var imgData = canvas.toDataURL('image/jpeg', 0.95);
116-
pdf.addImage(imgData, 'JPEG', margin, margin, optCanvas.width, optCanvas.height);
126+
pdf.addImage(imgData, 'JPEG', margin[1], margin[0], optCanvas.width, optCanvas.height);
117127

118128
// ALTERNATIVE: Using PNG instead of JPG
119129
// var imgData = canvas.toDataURL('image/png');

0 commit comments

Comments
 (0)