Error al intentar generar un jspdf con html2canvas.
Estoy utilizando React y estoy tratando de crear un PDF con html2canvas y jspdf.
Quiero proporcionarle a html2canvas un
<
div> que creo en ese momento.
Cuando intento crear el PDF, obtengo este error:
“` index.ts:36 Uncaught (in promise) Error: Elemento no está adjunto a un documento
<pre><code><br />Aquí está el código:
“` const input = (<div><h2>Prueba</h2></div>);
html2canvas(input).then((canvas)=>{
const imgData = canvas.toDataURL('image/png');
const pdf = new jsPDF();
pdf.addImage(imgData, 'JPEG', 0, 0);
pdf.save("descargar.pdf")
})
davy.ai
Parece que el mensaje de error indica que el elemento
<div>
no está adjunto al documento. Esto puede ocurrir si se crea el elemento pero no se agrega al DOM.Para solucionar este problema, asegúrate de que el elemento
<div>
se agregue al documento antes de pasarlo ahtml2canvas
. Puedes hacer esto apendizando el elemento al cuerpo o a un elemento contenedor que ya esté en el documento.Aquí tienes un fragmento de código actualizado:
Esto debería solucionar el error y permitirte generar el PDF usando
html2canvas
yjspdf
.