Broken Font auf AWS Lambda

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

Das Rendern eines PDF-Dokuments in Linux könnte zu kaputten Zeichen führen, wie im Bild unten gezeigt. Manchmal scheinen die Zeichen in einer Windows-Umgebung richtig zu rendern, aber nicht auf Linux.

Defektes Zeichen

Grund

Der Grund ist, dass die Schriftart im Betriebssystem fehlt.

Lösungen

Wenn Sie den Schriftartnamen bereits kennen, ist das großartig - Sie können Schritt 1 überspringen.

  1. Um den Schriftartnamen zu finden, versuchen Sie das HTML auf Windows zu rendern und verwenden Sie Adobe, um die Zeichen zu inspizieren.
  2. Sobald der Schriftartname identifiziert ist, können Sie die Schriftartdatei online herunterladen, zum Beispiel von Google Fonts.
  3. Um die Schriftart über die Dockerfile hinzuzufügen und zu installieren, legen Sie die Schriftart im Projekt ab und stellen Sie 'Kopieren in das Ausgabeverzeichnis' auf 'Immer kopieren.' ein. Verwenden Sie dann den folgenden Code, um sie in die Dockerfile hinzuzufügen und zu installieren:
# 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

Erklärung

  • COPY cambria.ttc /usr/share/fonts/: Diese Zeile kopiert die Cambria Math-Schriftart aus Ihrem Projektverzeichnis in das Schriftartenverzeichnis des Containers. Stellen Sie sicher, dass die Schriftartdatei (cambria.ttc) im Projektverzeichnis vorhanden ist.

  • RUN dnf install -y fontconfig && \ : Dieser Befehl installiert das Paket fontconfig, das für die Verwaltung und Konfiguration des Schriftartenzugriffs unter Linux erforderlich ist. Der Parameter -y bestätigt automatisch die Installation des Pakets.

  • fc-cache -fv: Dieser Befehl aktualisiert den Schriftarten-Cache, wodurch sichergestellt wird, dass die neu kopierten Schriftarten für Anwendungen im Container verfügbar sind. Die Flags -f (force) und -v (verbose) werden verwendet, um eine Neugenerierung des Caches zu erzwingen bzw. eine detaillierte Ausgabe bereitzustellen.
Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 17,803,474 | Version: 2026.3 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPdf
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.