Soporte » WordPress Avanzado » Convertir HTML a PDF

  • Resuelto Aitor Méndez

    (@aitormendez)


    Buenas, necesito un poco de orientación con un tema de desarrollo. Como no soy desarrollador, me pierdo bastante. Trataré de hacer las preguntas correctas, pero si no está bien preguntado, decídmelo también.

    Quiero convertir una página de WP a PDF. Es la página con currículo. El currículo lo hago con un CPT. Hay una página donde se puede ver y se muestra un enlace que permite descargarlo como PDF. Preferiría no depender de un plugin y he visto esta librería, que ya tengo instalada con enqueue script:

    http://pdfkit.org/

    La pregunta más obvia: ¿Es un enfoque correcto hacerlo con esta librería?

    Y luego, lo que no me queda claro es si la librería se interpreta en el navegador o tengo que instalar Node del lado del servidor.

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Tanto utilizar una libería JavaScript como una librería PHP son enfoques válidos. Si te decantas por JS pasas ese trabajo al navegador/cliente y te lo ahorras en el sever, para una función como crear un PDF del HTML, personalmente me decantaría por hacerlo en el navegador/cliente con JS. El HTML ya lo tienes en el navegador y no tienes necesidad de comunicarte con el server para nada.

    Ahora bien, ¿qué librería utilizar? A tu gusto. La que propones parece buena, y según veo se puede ejecutar en Node si quieres, y si quieres en el navegador, no tiene que ser en ambos a la vez. De todas formas, a primera vista esta otra parece más fácil de utilizar (no se si vale para Node, pero en WordPress eso te debería dar igual, con que se ejecute en el navegador te valdría pues WordPress no corre en Node): https://github.com/MrRio/jsPDF

    Mil gracias porlas aclaraciones @cybmeta. Voy a probar con la librería que comentas, a ver qué tal.

    • Esta respuesta fue modificada hace 2 años, 6 meses por Aitor Méndez.

    Dejo aquí una segunda pregunta con su correspondiente respuesta que me ha dejado @cybmeta en el slack:

    Una duda más. Estas librerías, tanto la que tú propones como la otra, construyen el PDF desde el script JS. Entonces, para pasarle los textos al JS, ¿cómo se hace? Se me ocurre que puedo seleccionar los elementos de la página con selectores jQuery. ¿eso es correcto o hay otra manera?

    También se me ocurre meter los textos en una variable en PHP y pasarlas al JS con wp_localize_script() pero me parece más lío.

    RESPUESTA

    No he utilizado ninguna de las dos. En la que te enlacé parece que es así como dices: seleccionas el elemento y le pasas el contenido a la librería para que cree el PDF. Para que librería interprete el HTML y no un texto «literal» parece que necesita este otro addon https://github.com/eKoopmans/html2pdf

    var element = document.getElementById('element-to-print');
    html2pdf(element);

    Yo para un proyecto que debía generar un pdf con determinado HTML de las respuestas de un usuario he utilizado mpdf con buenos resultados https://mpdf.github.io/

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • El debate ‘Convertir HTML a PDF’ está cerrado a nuevas respuestas.