Solución:
jsPDF necesita que html2canvas se declare en el alcance global para funcionar, por lo que debe escribir
window.html2canvas = html2canvas;
en algún lugar antes de llamar html()
.
Dicho esto, tampoco pude hacerlo funcionar, así que recurrí a un contenedor que soluciona el problema llamando manualmente html2canvas()
luego dando el lienzo resultante a jsPDF.
Siguiendo la respuesta anterior de ptidus, esto debería funcionar:
saveAsPdf() {
window.html2canvas = html2canvas;
var doc = new jsPDF(
'p', 'pt', 'a4'
);
doc.html(document.querySelector("body"), {
callback: function(pdf) {
pdf.save("cv-a4.pdf");
}
});
}
Probablemente haya algo mal en los márgenes, pero no lo exploré demasiado. También notará que el PDF generado es en realidad texto y no una imagen.
ejemplo de código
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)