Incorporar Fontes Personalizadas em IronPDF em Contêineres Docker Linux

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

As fontes personalizadas são incorporadas corretamente ao gerar PDFs no Windows, mas falham ao serem incorporadas dentro de um contêiner Docker Linux. Em vez da fonte pretendida, o renderizador usa DejaVu Sans como substituto.

Em sistemas Linux e dentro de contêineres Docker, as fontes devem ser explicitamente instaladas ou referenciadas. Se uma fonte não estiver disponível para o mecanismo de renderização Chrome, o IronPDF substitui pela fonte padrão do sistema, causando diferenças visuais e falhas na incorporação.

Solução

Opção 1: Instalar fontes principais da Microsoft para Arial e fontes similares

Adicione ao seu Dockerfile:

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

Opção 2: Incorpore fontes personalizadas via @font-face

Para fontes não-sistema como Poppins ou Roboto, declare-as em HTML usando @font-face com um caminho para um arquivo .ttf incluído na imagem 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

Opção 3: Use o tipo de mídia CSS de Impressão

Defina CssMediaType para aplicar estilos específicos de impressão, incluindo declarações @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 uma configuração Docker Linux completa, veja o guia do IronPDF Docker.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 20,088,359 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.