es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo incrustar correctamente una fuente de Google en DomPDF? Se rompe al imprimir.

Intento generar un PDF utilizando DomPDF (v1.0.2) con Open Sans como fuente.

Cargo Open Sans directamente desde Google Fonts (lo cual debería funcionar según la documentación de DomPDF) y el PDF resultante parece estar bien.

El problema ocurre al imprimir, aparentemente las fuentes no se incrustan correctamente, lo que hace que la fuente se rompa al imprimir.

Ejemplo de código simplificado:

$pdf = new Dompdf(new Options([
    'defaultPaperSize'          => 'a4',
    'defaultPaperOrientation'   => 'portrait',
    'isRemoteEnabled'           => true,
    'allowUrlFopen'             => true,
    'isHtml5ParserEnabled'      => true
]));

$pdf->loadHtml('
    <link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400;1,600&display=swap" rel="stylesheet">
    <style>
        span {
            font-family: "Open Sans", sans-serif;
        }
    </style>
    <body>
        <span>Esto debería estar en Open Sans</span>
    </body>
');
$pdf->render();
$pdf->stream();

En pantalla:

Imagen en pantalla

Impreso:

Imagen impresa

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Si está experimentando problemas con la correcta incrustación de Open Sans al utilizar DomPDF para generar un PDF, puede intentar descargar manualmente los archivos de fuente desde Google Fonts e incrustarlos en su proyecto en lugar de cargarlos de forma remota. Esto puede ayudar a garantizar que las fuentes se incrusten correctamente y se muestren correctamente al imprimir. Además, puede intentar verificar la caché de FontMetrics y borrarla si es necesario. Por último, asegúrese de verificar que se estén utilizando los archivos de fuente correctos y que las rutas de archivo sean correctas.

Comments are closed.