diff --git a/src/modules/html.js b/src/modules/html.js
index fd66e15cd..b4e1f85af 100644
--- a/src/modules/html.js
+++ b/src/modules/html.js
@@ -494,9 +494,12 @@ import { globalObject } from "../libs/globalObject.js";
)
: options.windowHeight;
+ pdf.context2d.save(true);
return html2canvas(this.prop.container, options);
})
.then(function toContext2d_post(canvas) {
+ this.opt.jsPDF.context2d.restore(true);
+
// Handle old-fashioned 'onrendered' argument.
var onRendered = this.opt.html2canvas.onrendered || function() {};
onRendered(canvas);
diff --git a/test/reference/html-basic.pdf b/test/reference/html-basic.pdf
index 899710841..ba7f2e2cc 100644
Binary files a/test/reference/html-basic.pdf and b/test/reference/html-basic.pdf differ
diff --git a/test/reference/html-font-faces.pdf b/test/reference/html-font-faces.pdf
index dc68c7933..e4824e1e7 100644
Binary files a/test/reference/html-font-faces.pdf and b/test/reference/html-font-faces.pdf differ
diff --git a/test/reference/html-margin-page-break-image.pdf b/test/reference/html-margin-page-break-image.pdf
index 4239fc56d..983af6e3c 100644
Binary files a/test/reference/html-margin-page-break-image.pdf and b/test/reference/html-margin-page-break-image.pdf differ
diff --git a/test/reference/html-margin-page-break-slice.pdf b/test/reference/html-margin-page-break-slice.pdf
index 8303e85dd..c63b2b140 100644
Binary files a/test/reference/html-margin-page-break-slice.pdf and b/test/reference/html-margin-page-break-slice.pdf differ
diff --git a/test/reference/html-margin-page-break-text.pdf b/test/reference/html-margin-page-break-text.pdf
index 76d810500..bc1cf4145 100644
Binary files a/test/reference/html-margin-page-break-text.pdf and b/test/reference/html-margin-page-break-text.pdf differ
diff --git a/test/reference/html-margin-page-break.pdf b/test/reference/html-margin-page-break.pdf
index caa8d5f35..1aee0ae63 100644
Binary files a/test/reference/html-margin-page-break.pdf and b/test/reference/html-margin-page-break.pdf differ
diff --git a/test/reference/html-margin-x-y-text.pdf b/test/reference/html-margin-x-y-text.pdf
index 5164f48d2..6d041a183 100644
Binary files a/test/reference/html-margin-x-y-text.pdf and b/test/reference/html-margin-x-y-text.pdf differ
diff --git a/test/reference/html-margin-x-y.pdf b/test/reference/html-margin-x-y.pdf
index 6a8a16ab2..70b1e792b 100644
Binary files a/test/reference/html-margin-x-y.pdf and b/test/reference/html-margin-x-y.pdf differ
diff --git a/test/reference/html-margin.pdf b/test/reference/html-margin.pdf
index 6a8a16ab2..70b1e792b 100644
Binary files a/test/reference/html-margin.pdf and b/test/reference/html-margin.pdf differ
diff --git a/test/reference/html-multiple.pdf b/test/reference/html-multiple.pdf
new file mode 100644
index 000000000..3b29149aa
Binary files /dev/null and b/test/reference/html-multiple.pdf differ
diff --git a/test/reference/html-width-100-windowWidth-500.pdf b/test/reference/html-width-100-windowWidth-500.pdf
index 7d7b94690..6dceac04f 100644
Binary files a/test/reference/html-width-100-windowWidth-500.pdf and b/test/reference/html-width-100-windowWidth-500.pdf differ
diff --git a/test/reference/html-width-210-windowWidth-1000.pdf b/test/reference/html-width-210-windowWidth-1000.pdf
index d1d8839fc..5ae9c69c5 100644
Binary files a/test/reference/html-width-210-windowWidth-1000.pdf and b/test/reference/html-width-210-windowWidth-1000.pdf differ
diff --git a/test/reference/html-width-210-windowWidth-250.pdf b/test/reference/html-width-210-windowWidth-250.pdf
index 2d8fdbe64..bbe80422c 100644
Binary files a/test/reference/html-width-210-windowWidth-250.pdf and b/test/reference/html-width-210-windowWidth-250.pdf differ
diff --git a/test/reference/html-width-210-windowWidth-500.pdf b/test/reference/html-width-210-windowWidth-500.pdf
index f32fe57f0..9afd79b56 100644
Binary files a/test/reference/html-width-210-windowWidth-500.pdf and b/test/reference/html-width-210-windowWidth-500.pdf differ
diff --git a/test/reference/html-width-300-windowWidth-500-scale-2.pdf b/test/reference/html-width-300-windowWidth-500-scale-2.pdf
index d32682fd1..877559bf0 100644
Binary files a/test/reference/html-width-300-windowWidth-500-scale-2.pdf and b/test/reference/html-width-300-windowWidth-500-scale-2.pdf differ
diff --git a/test/reference/html-width-300-windowWidth-500.pdf b/test/reference/html-width-300-windowWidth-500.pdf
index 249776e0b..cc2d5eb84 100644
Binary files a/test/reference/html-width-300-windowWidth-500.pdf and b/test/reference/html-width-300-windowWidth-500.pdf differ
diff --git a/test/reference/html-width-default-windowWidth-default.pdf b/test/reference/html-width-default-windowWidth-default.pdf
index 575828fde..8f1fc94d7 100644
Binary files a/test/reference/html-width-default-windowWidth-default.pdf and b/test/reference/html-width-default-windowWidth-default.pdf differ
diff --git a/test/reference/html-x-y.pdf b/test/reference/html-x-y.pdf
index 6a8a16ab2..70b1e792b 100644
Binary files a/test/reference/html-x-y.pdf and b/test/reference/html-x-y.pdf differ
diff --git a/test/saucelabs/karma.conf.js b/test/saucelabs/karma.conf.js
index a9bf8c894..2a43f93eb 100644
--- a/test/saucelabs/karma.conf.js
+++ b/test/saucelabs/karma.conf.js
@@ -15,7 +15,7 @@ const browsers = {
base: "SauceLabs",
browserName: "chrome",
platform: "Windows 10",
- version: "83"
+ version: "94"
},
sl_firefox: {
base: "SauceLabs",
diff --git a/test/specs/html.spec.js b/test/specs/html.spec.js
index 1de962b0d..3dd448732 100644
--- a/test/specs/html.spec.js
+++ b/test/specs/html.spec.js
@@ -277,7 +277,7 @@ describe("Module: html", () => {
});
it("page break with image", async () => {
- const doc = jsPDF({ floatPrecision: 2, unit: "pt", format: [100, 100] });
+ const doc = jsPDF({ floatPrecision: 2, unit: "pt", format: [100, 100], lineWidth: 1 });
await new Promise(resolve =>
doc.html(
'',
@@ -315,6 +315,14 @@ describe("Module: html", () => {
comparePdf(doc.output(), "html-x-y.pdf", "html");
});
+ it("is able to render html multiple times", async () => {
+ const doc = jsPDF({ floatPrecision: 2, unit: "pt" });
+ await doc.html("