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:
Impreso:
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.