How to save the contents of a div as a image? How to save the contents of a div as a image? javascript javascript

How to save the contents of a div as a image?


There are several of this same question (1, 2). One way of doing it is using canvas. Here's a working solution. Here you can see some working examples of using this library.


Do something like this:

A <div> with ID of #imageDIV, another one with ID #download and a hidden <div> with ID #previewImage.

Include the latest version of jquery, and jspdf.debug.js from the jspdf CDN

Then add this script:

var element = $("#imageDIV"); // global variablevar getCanvas; // global variable$('document').ready(function(){  html2canvas(element, {    onrendered: function (canvas) {      $("#previewImage").append(canvas);      getCanvas = canvas;    }  });});$("#download").on('click', function () {  var imgageData = getCanvas.toDataURL("image/png");  // Now browser starts downloading it instead of just showing it  var newData = imageData.replace(/^data:image\/png/, "data:application/octet-stream");  $("#download").attr("download", "image.png").attr("href", newData);});

The div will be saved as a PNG on clicking the #download