Fonte quebrada no AWS Lambda

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

A renderização de um documento PDF no Linux pode resultar em caracteres corrompidos, como mostrado na imagem abaixo. Às vezes, os caracteres parecem ser exibidos corretamente em um ambiente Windows, mas não no Linux.

Personagem Quebrado

Razão

O motivo é que a fonte está faltando no sistema operacional.

Soluções

Se você já sabe o nome da fonte, ótimo — pode pular a etapa 1.

  1. Para descobrir o nome da fonte, tente renderizar o HTML no Windows e use o Adobe para inspecionar os caracteres.
  2. Depois de identificar o nome da fonte, você pode baixar o arquivo da fonte online, por exemplo, do Google Fonts .
  3. Para adicionar e instalar a fonte via Dockerfile, coloque a fonte no projeto e defina 'Copiar para o diretório de saída' como 'Copiar sempre'. Em seguida, use o seguinte código para adicioná-la e instalá-la no Dockerfile:
# Copy the Cambria Math font into the container
# Ensure the font file (cambria.ttc) exists in your project directory
COPY cambria.ttc /usr/share/fonts/

# Install fontconfig to update the font cache
# This will install fontconfig and refresh the font cache to recognize the newly added fonts
RUN dnf install -y fontconfig && \
    fc-cache -fv

Explicação

  • COPY cambria.ttc /usr/share/fonts/ : Esta linha copia a fonte Cambria Math do diretório do seu projeto para o diretório de fontes do contêiner. Certifique-se de que o arquivo de fonte (cambria.ttc) esteja presente no diretório do projeto.

  • RUN dnf install -y fontconfig && \ : Este comando instala o pacote fontconfig, necessário para gerenciar e configurar o acesso a fontes no Linux. A flag -y confirma automaticamente a instalação do pacote.

  • fc-cache -fv : Este comando atualiza o cache de fontes, garantindo que as fontes recém-copiadas estejam disponíveis para os aplicativos dentro do contêiner. Os parâmetros -f (forçar) e -v (verbose) são usados ​​para forçar uma regeneração do cache e fornecer uma saída detalhada, respectivamente.
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 18,318,263 | Versão: 2026.4 acaba de ser 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.