Representación HTML con TCPDF (PHP)

Estoy utilizando la función writeHtml de TCPDF para una página que se procesa correctamente en el navegador. En el PDF de salida, las fonts son demasiado pequeñas. Lo he intentado con setFont, pero parece que no tiene ningún efecto. ¿Alguien tiene experiencia con esto?

Me gustaría agregar aquí que el HTML no siempre está bajo mi control, por lo que preferiría hacer esto con las opciones de TCPDF (y no modificando el html fuente)

ACTUALIZACIÓN : puedo cambiar el tamaño de la fuente al configurarlo en el cuerpo. El único problema restante es que, para representar correctamente en el navegador, debe ser de 12 píxeles. Para representar correctamente en el PDF, necesita ser algo así como 30 px. ¿Configuro los medios en el CSS? ¿Cuál es el tipo de medio para TCPDF?

¿Estás usando tags? El motor HTML de tcpdf da prioridad a la etiqueta sobre cualquier CSS u otras tags de ajuste de tamaño. Si elimina cualquier etiqueta extraña del HTML y utiliza CSS directo, las cosas deberían mostrarse como se esperaba. O bien, si no está utilizando CSS, debería hacerlo. El hecho de que un navegador lo muestre correctamente no significa que se verá igual en otros formatos. Es probable que el navegador haya realizado algo de magia para completar los vacíos en las especificaciones de CSS.


ACTUALIZAR

Aquí hay un ejemplo de especificar declaraciones de CSS con su HTML al usar tcpdf. Tenga en cuenta cómo se aplica todo el estilo utilizando las declaraciones CSS dentro de la etiqueta

fuera del cuerpo HTML actual.

    

Example of HTML + CSS

Example of 12pt styled paragraph.

EOF; $pdf->writeHTML($html, true, false, true, false, ''); ?>

TCPDF reconoce CSS básico como tamaño de fuente, color de fuente y familia de fonts.

Para obtener un poco más de información, revisa que TCPDF no muestre todas las propiedades de CSS

La mejor solución que funcionó para mí fue reemplazar ‘px’ por ‘pt’ en código html:

 $tidy = str_replace ('px', 'pt', $tidy); 

Antes en el lado izquierdo y después de reemplazar a la derecha: Antes en el lado izquierdo y luego en el derecho