To render HTML to an image with JavaScript, we use the html2canvas
package.
To install it, we add the script tag with src pointing to https://html2canvas.hertzen.com/dist/html2canvas.min.js
Then we write
const canvas = await html2canvas(document.getElementById("image-wrap"));
const link = document.createElement("a");
document.body.appendChild(link);
link.download = "pic.jpg";
link.href = canvas.toDataURL();
link.target = "_blank";
link.click();
to select the element with getElementById
.
And then we call html2canvas
with the element.
We get the canvas
from the returned promise with await
.
Next we create a link with createElement
.
We set the download
property to the file name.
We call canvas.toDataURL
to return the canvas content as a base64 URL string and set it as the value of the href
property.
Then we call click
to download the content.