Incrustación de Fuentes Personalizadas en IronPDF en Contenedores Docker de Linux

This article was translated from English: Does it need improvement?
Translated
View the article in English

Las fuentes personalizadas se incrustan correctamente al generar PDFs en Windows, pero fallan al incrustarse dentro de un contenedor Docker de Linux. En lugar de la fuente intencionada, el renderizador usa DejaVu Sans como respaldo.

En sistemas Linux y dentro de contenedores Docker, las fuentes deben ser instaladas o referenciadas explícitamente. Si una fuente no está disponible para el motor de renderizado Chrome, IronPDF sustituye por la fuente de respaldo predeterminada del sistema, causando diferencias visuales y fallos de incrustación.

Solución

Opción 1: Instala fuentes centrales de Microsoft para Arial u otras fuentes similares

Agrega a tu Dockerfile:

RUN apt update && apt install -y ttf-mscorefonts-installer

Opción 2: Incrusta fuentes personalizadas a través de @font-face

Para fuentes no del sistema, como Poppins o Roboto, declárelas en HTML usando @font-face con una ruta a un archivo .ttf incluido dentro de la imagen de Docker:

<!DOCTYPE html>
<html>
<head>
<style>
@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Regular.ttf');
}
p {
    font-family: 'Poppins';
    font-size: 16px;
}
</style>
</head>
<body>
<p>Custom font text</p>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style>
@font-face {
    font-family: 'Poppins';
    src: url('fonts/Poppins-Regular.ttf');
}
p {
    font-family: 'Poppins';
    font-size: 16px;
}
</style>
</head>
<body>
<p>Custom font text</p>
</body>
</html>
HTML

Opción 3: Usa el tipo de medios de impresión CSS

Configure CssMediaType para aplicar estilos específicos de impresión, incluidas declaraciones @font-face:

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
$vbLabelText   $csharpLabel

Para una configuración completa de Docker en Linux, consulta la guía Docker de IronPDF.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 20,088,359 | Versión: 2026.7 recién publicada
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.