Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

156
Vistas
Ejecutar wkhtmltopdf en un HTML cambiante para generar múltiples archivos PDF

Tengo un archivo json con información de varias personas. El archivo JS (importado a mi archivo HTML) primero lee el archivo json y almacena la información en una matriz de objetos de personas. Quiero iterar a través de esta matriz, actualizando el HTML para una persona a la vez (esencialmente creando un formulario único para cada persona). Al final de cada actualización (iteración), quiero generar un pdf del HTML actual usando wkhtmltopdf. Luego, la información del HTML se borrará y se actualizará con la información de la siguiente persona, momento en el que se generará un nuevo pdf. Por favor, apúnteme en la dirección correcta para hacer esto.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En realidad, wkhtmltopdf puede ejecutar JavaScript bastante bien (pero no siempre a la perfección). La clave podría ser usar algo como --javascript-delay 3000 - esto hará que wkhtmltopdf espere 3000ms (3 segundos) para que finalice la ejecución de JavaScript. Por ejemplo tengo este archivo

 <html> <body> <h1>Users</h1> <div id="users"></div> </body> <script> function pushMessage(msg) { const x = document.createElement("div"); x.innerText = msg; document.getElementById("users").appendChild(x); } function handleUsers(users) { users.forEach(user => pushMessage(user.name)); } try { const xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState !== 4) return; if (xhr.status >= 200 && xhr.status < 300) { const users = JSON.parse(xhr.responseText); handleUsers(users); } }; xhr.open('GET', 'https://jsonplaceholder.typicode.com/users'); xhr.send(); } catch(e) { document.write(e.message); } </script> </html>

Y luego convierto esto con wkhtmltopdf --javascript-delay 3000 index.html index.pdf el resultado esperado en un PDF; lo que significa que se ve igual que ejecutar esto normalmente en el navegador.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda