Incorporar Fontes Personalizadas em IronPDF em Contêineres Docker Linux

Curtis Chau
Curtis Chau
Updated: 10 de junho de 2026

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
Dockerfile

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>
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;

Para uma configuração Docker Linux completa, veja o guia do IronPDF Docker.

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 bem estruturados e visualmente atraentes.

Leia mais

Pronto para começar?

Nuget Downloads 21,739,885Versão:2026.10recém-lançado