IRONSOFTWAREHOME

Fuente rota en AWS Lambda: guía de resolución para entornos Linux

Curtis Chau
Curtis Chau
Updated: 22 de abril de 2026

Renderizar un documento PDF en Linux podría resultar en caracteres rotos, como se muestra en la imagen a continuación. A veces, los caracteres parecen renderizarse correctamente en un entorno Windows, pero no en Linux.

Carácter Roto

Razón

La razón es que la fuente falta en el sistema operativo.

Soluciones

Si ya conoces el nombre de la fuente, eso es genial, puedes saltarte el paso 1.

  1. Para encontrar el nombre de la fuente, intenta renderizar el HTML en Windows y usa Adobe para inspeccionar los caracteres.
  2. Una vez identificado el nombre de la fuente, puedes descargar el archivo de fuente en línea, como desde Google Fonts.
  3. Para agregar e instalar la fuente a través del Dockerfile, coloca la fuente en el proyecto y configura 'Copiar en el Directorio de Salida' a 'Copiar Siempre.' Luego, usa el siguiente código para agregarla e instalarla en el 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
Text

Explicación

  • COPY cambria.ttc /usr/share/fonts/: Esta línea copia la fuente Cambria Math desde el directorio de tu proyecto al directorio de fuentes del contenedor. Asegúrate de que el archivo de fuente (cambria.ttc) esté presente en el directorio del proyecto.

  • **RUN dnf install -y fontconfig && **: Este comando instala el paquete fontconfig, que es necesario para gestionar y configurar el acceso a las fuentes en Linux. El indicador -y confirma automáticamente la instalación del paquete.

  • fc-cache -fv: Este comando actualiza la caché de fuentes, asegurando que las fuentes recién copiadas estén disponibles para las aplicaciones dentro del contenedor. Las banderas -f (forzar) y -v (detallado) se utilizan para forzar una re-generación del caché y proporcionar una salida detallada, respectivamente.

Contexto español: fuentes en servicios de firma VeriFactu y TicketBAI alojados en AWS Lambda

Este problema de fuentes rotas tiene especial relevancia para los desarrolladores españoles que despliegan servicios de generación de facturas en AWS Lambda:

Certificados FNMT y renderizado de documentos con firma PAdES

El FNMT (Fábrica Nacional de Moneda y Timbre) emite certificados digitales para ciudadanos y empresas españolas. Los PDFs firmados con certificados FNMT bajo el estándar PAdES (PDF Advanced Electronic Signatures, requerido por eIDAS) a menudo incluyen campos de firma con texto en castellano que deben renderizarse correctamente. Si el contenedor Lambda carece de las fuentes adecuadas, el texto en el campo de firma aparecerá corrupto.

Fuentes para documentos legales en castellano (caracteres con tilde y ñ)

Los documentos fiscales españoles - facturas VeriFactu, registros SII, documentos Facturae - contienen caracteres castellanos como á, é, í, ó, ú, ñ, ü, ¿ y ¡. Para garantizar la correcta renderización en un contenedor Linux (AWS Lambda o Docker), se recomienda instalar Noto Sans con soporte para caracteres latinos extendidos:

# Instalar Noto Sans para soporte completo de caracteres castellanos
RUN dnf install -y google-noto-sans-fonts fontconfig && \
    fc-cache -fv
Text

Noto Sans es la fuente de referencia para garantizar la correcta representación de todos los caracteres Unicode utilizados en documentos legales y fiscales españoles, incluyendo los exigidos por la LOPDGDD (documentos con datos personales que deben ser legibles) y la AEPD (Agencia Española de Protección de Datos).

TicketBAI: renderizado de tiques en los tres territorios forales vascos

Los tiques generados bajo TicketBAI para Bizkaia, Gipuzkoa y Araba deben incluir el texto de la leyenda obligatoria en castellano (y opcionalmente en euskera según la hacienda foral). Si el servicio Lambda carece de las fuentes necesarias, la leyenda obligatoria del tique aparecerá corrupta, incumpliendo los requisitos de cada diputación foral.

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 estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 21,105,021Versión:2026.9recién publicada

Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999