Можно ли сделать что-то вроде этого:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.min.js"></script>
.... <other code> ....
doc.addImage(imgData, 'PNG', 10, 10);
doc.text(first_name + " " + last_name, 10, 100);
doc.text(company, 10, 120);
doc.text(email, 10, 130);
doc.fromHTML(april_2_html_table, 10, 140);
doc.addPage();
, где в основном у меня есть строка, содержащая HTML-таблицу, и я сохранил ее как "first_html_table".Я хотел бы включить эту таблицу в PDF.Эта строка генерируется динамически.
Я не получаю ошибок, но в основном все, кроме таблицы, появляется в PDF.
РЕДАКТИРОВАТЬ 1
В настоящее время я получаю сообщение об ошибке:
jspdf.min.js:63 Uncaught (in promise) TypeError: Cannot read property 'name' of undefined
at k (VM1512 jspdf.min.js:63)
at r (VM1512 jspdf.min.js:63)
at VM1512 jspdf.min.js:63
at i (VM1512 jspdf.min.js:63)
at v (VM1512 jspdf.min.js:63)
at x (VM1512 jspdf.min.js:63)
at Object.e.fromHTML (VM1512 jspdf.min.js:63)
at badgelist.forEach.badge (printbadges.php:153)
at Array.forEach (<anonymous>)
at Object.onrendered (printbadges.php:122)
, и мой код можно увидеть здесь: https://pastebin.com/3AZZ3AYb I 'Я пытаюсь проверить только одну запись для одного "значка", и я убедился в консоли, что все данные, которые я ищу, присутствуют.Я также попытался сбросить содержимое first_html_table непосредственно в .fromHTML (), но это тоже не удалось.В настоящее время я пытаюсь сузить его до определенной ячейки, которая ему не нравится, или чего-то подобного.Я удалил все colspans и границы в HTML, но это не очень помогло.Любые советы будут оценены.
РЕДАКТИРОВАТЬ 2
Это определенно умирает, когда я пытаюсь запустить функцию fromHTML ().Я добавил два div в html, и я заполняю содержимое div с first_html_table и second_html_table.все выглядит прямо на экране.
Еще одна вещь, которую я сделал, - добавила отладки консоли, и я точно вижу, что она умирает, когда вызывает метод fromHTML:
console.log(first_html_table); //looks good
console.log(badge['first_name']); //looks good
$("#agenda1").html(first_html_table); //looks good
$("#agenda2").html(second_html_table); //looks good
doc.addImage(imgData, 'PNG', 10, 10);
doc.text(badge['first_name'] + " " + badge['last_name'], 10, 100);
doc.text(badge['company'], 10, 120);
console.log('got this far'); //works
doc.text(badge['email'], 10, 130);
console.log('afteremail');//works
doc.fromHTML(first_html_table, 10, 160);
console.log("do you get here?"); //code doesn't get here