Нет необходимости в холсте - это изображение типа
Существует много способов конвертировать холст в изображение. Однако зачем беспокоиться, так как холст - это изображение, как и в его поведении. Просто отобразите холст, как если бы это было изображение.
Пример использования html2canvas
в современном стиле, добавление захваченного холста на страницу
html2canvas(document.body).then(canvas => document.body.appendChild(canvas));
Используя ваш пример
Примечание: безопасность не позволяет ему работать во фрагменте SO.
addEventListener("load",() => {
html2canvas(divCard)
.then(can => {
// show result of html2canvas
previewImage.classList.remove("hide");
previewImage.appendChild(can);
// show download link and add data url for download.
downloadLink.classList.remove("hide");
downloadLink.download = "canvasCap.png"; // name the download file
downloadLink.href = can.toDataURL("image/png").replace("data:image/png", "data:application/octet-stream");
})
.catch(error => {
previewImage.textContent = "html2canvas error: " + error.message;
previewImage.classList.remove("hide");
previewImage.classList.add("error");
});
});
* { font-family: arial }
.hide { display: none }
.error {color: red }
.titile {font-size: x-large}
#divCard {
border: 2px solid black;
padding: 4px;
}
<script src="https://files.codepedia.info/files/uploads/iScripts/html2canvas.js"></script>
<div id="divCard">
<div class="titile">Author:John Michael Smith Junior</div>
<div>Published on March 1982 </div>
<div>Published by: Mark Vin book house</div>
<div>Last Edition Dec 1999</div>
<div>Sold Copies: 150000</div>
</div>
<h4>HTML2CANVAS result...</h4>
<a id="downloadLink" class="hide">download</a>
<div class="hide" id="previewImage"></div>
BTW Его 2020 .. jQuery - это медленный раздутый багаж. Windows прекратил поддержку IE <11 января 31 года в этом году, удалив последний аргумент для релевантности jQuery. </sup>