Я использую Html2Canvas и jsPDF для печати PDF на моей Django странице. Функция для этого выглядит следующим образом:
<script>
function genPDF(){
html2canvas(document.getElementById("data_to_print")).then(function (canvas) {
var img = canvas.toDataURL('image/jpeg');
var doc = new jsPDF();
var width = doc.internal.pageSize.width;
var height = doc.internal.pageSize.height;
var ratio = canvas.height / canvas.width;
var new_height = width * ratio;
doc.addImage(img,'JPEG',0,0,width,new_height);
doc.save('Report.pdf');
});
}
</script>
Этот код работал нормально, пока я не добавил это в свой div 'data_to_print':
{% for obj_img in image %}
<img src="{{ obj_img.image }}" style="max-width: 100%; max-height: 100%;"><br>
{% endfor %}
Так выглядит моя страница как:
До того, как я добавил этот код в мой html, PDF выглядел так: А теперь, это выглядит так : Кто-нибудь знает, в чем может быть проблема или несовместимость html2canvas, не распознающего изображение?
ОБНОВЛЕНИЕ Я использовал allowTaint: true
и useCORS: true
как предлагается онлайн, но он дает те же результаты.