Задать вопрос
@historydev
Mistkerl, drück den Knopf.

Как передавать и конвертировать все блоки с выбранным классом, либо все блоки внутри класса?

Добрый вечер. Скажите пожалуйста как мне обработать все блоки,сейчас он циклом перебирает и создаёт для каждого блока свой pdf, а как загрузить все разом? Спасибо огромное!

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
	<script>

		window.html2canvas = html2canvas
		
		function genPDF() {
			document.querySelectorAll('.block').forEach(el => {
				html2canvas(el, {
					onrendered: function(canvas) {

						var img = canvas.toDataURL("image/png")
						var doc = new jsPDF()
						doc.addImage(img, 'JPEG', 20, 20)
						doc.save('test.pdf')

					}
			    })
			})
		}
		
	</script>
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
function genPDF() {
  const blocks = document.querySelectorAll('.block');
  const doc = new jsPDF();
  return Promise.all(Array.prototype.map.call(blocks, el => new Promise(resolve => {
    html2canvas(el, {
      onrendered(canvas) {
        const img = canvas.toDataURL("image/png");
        doc.addImage(img, 'JPEG', 20, 20);
        resolve();
      }
    });
  }))).then(() => {
    doc.save('test.pdf');
  });
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы