Tengo una página web que está completamente desarrollada y se muestra exactamente según sea necesario. Recibí un requisito de mi jefe para tomar esa misma página y convertirla en un PDF. Tengo una instalación bastante antigua de DomPDF y la actualización no es una opción debido a que PHP es 5.6.40 y las versiones más nuevas de DomPDF requieren PHP 7.1 o superior. Además, tengo una versión igualmente antigua de fPdf en el host. Además, todos los documentos para DomPDF me parecen eludir la necesidad de tener todo mi HTML en una variable para ser utilizado por DomPDF. Nuevamente, no es una opción ya que la página ya está completamente desarrollada y es muy intensiva en jQuery.

Entonces, ¿qué opciones tengo para convertir una página HTML existente a un PDF?

Necesito desesperadamente una solución a esto. ¡Gracias a todos!

0
Skittles 29 abr. 2020 a las 06:41

2 respuestas

La mejor respuesta

Pude hacer que funcionara usando la siguiente estrategia;

$f = file_get_contents("URL to page I wish to convert");
$dompdf->loadHtml($f);

Esto funcionó muy bien, excepto por las deficiencias bastante dolorosas que tiene dompdf al incorporar el estilo correctamente.

0
Skittles 1 may. 2020 a las 15:56

¿Qué tal si usa la extensión jsPDF , también se ejecuta en jQuery y convierte HTML a PDF sin ningún esfuerzo del lado del servidor. No estoy muy interesado en PHP y nunca usé DomPDF también. También podemos tener diferentes estilos CSS para los elementos de la página para imprimir en PDF para asegurarnos de que todo el contenido se ajuste a la vista.

var doc = new jsPDF(); 
var specialElementHandlers = { 
    '#editor': function (element, renderer) { 
        return true; 
    } 
};
$('#submit').click(function () { 
    doc.fromHTML($('#content').html(), 15, 15, { 
        'width': 190, 
            'elementHandlers': specialElementHandlers 
    }); 
    doc.save('sample-page.pdf'); 
});

Verifique el ejemplo de Codepen de trabajo (https://codepen.io/connectpritam/pen/wvKqwLG)

1
Pritam Mullick 29 abr. 2020 a las 04:41