Aplicar Fuentes en DomPDF en Laravel

¿Cómo aplicar fuentes en DomPDF en Laravel 10? Para poder utilizar otros tipos de fuentes que no están por defecto al instalar DomPDF en Laravel. Debemos realizar lo siguiente:
“Daremos por hecho que ya tenemos instalado DomPDF y podemos imprimir archivos PDF desde nuestro proyecto”.
Debemos asegurarnos de tener las fuentes que deseamos utilizar y están disponibles para su descarga (google fonts o otros servidores de fuentes), las fuentes deben de estar en el formato .ttf o .otf.
Ahora debemos copiar los archivos fuente (.ttf o .otf) en el directorio “public/fonts/” como también en el directorio “storage/fonts/” (los demás archivos del directorio “storage/fonts” automáticamente se generan al momento de ejecutar el programa).
Seguidamente creamos el archivo “style.css” en el directorio “public/css/” y añadimos el siguiente código. Utilizamos “@font-face” para declarar las fuentes personalizadas.
@font-face { font-family: 'Monotype Corsiva Normal'; font-style: normal; font-weight: normal; src: url("/fonts/monotype-corsiva-normal.ttf") format('truetype'); } @font-face { font-family: 'Monotype Corsiva Bold'; font-style: normal; font-weight: 900; src: url("/fonts/monotype-corsiva-bold.otf") format('truetype'); } h1 { font-family: 'Monotype Corsiva Bold'; font-weight: 900; } h2 { font-family: 'Monotype Corsiva Normal'; font-weight: normal; }
En el caso que las rutas de las fuentes no se apliquen en los estilos CSS. En este caso debemos utilizar rutas absolutas (por ejemplo: /var/www/html/proyecto/public/fonts/monotype-corsive-nomal.ttf).
Por último aplicamos los estilos en el archivo “pdf.blade.php” que se encuentra en el directorio “resources/views/”.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="css/style.css"> <title>EJEMPLO</title> </head> <body> <h1>LARAVEL FRAMEWORK</h1> <h2>EL FRAMEWORK DE PHP</h2> </body> </html>
Ahora probamos nuestra aplicación de Laravel con DomPDF para incluir fuentes personalizadas en los documentos PDF.
¿Quieres aprender Laravel? Aquí tienes un curso básico de Laravel.
Saludos y éxitos.