¿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.