Einbetten von benutzerdefinierten Schriften in IronPDF auf Linux Docker-Containern

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

Benutzerdefinierte Schriften werden beim Generieren von PDFs auf Windows korrekt eingebettet, schlagen jedoch in einem Linux Docker-Container fehl. Anstelle der beabsichtigten Schrift verwendet der Renderer DejaVu Sans als Ersatz.

Auf Linux-Systemen und innerhalb von Docker Containern müssen Schriften explizit installiert oder referenziert werden. Wenn eine Schrift der Chrome-Render-Engine nicht zur Verfügung steht, ersetzt IronPDF die Standardschriftausfallschrift des Systems, was zu visuellen Unterschieden und Einbettungsfehlern führt.

Lösung

Option 1: Installieren Sie die Microsoft Core-Schriften für Arial und ähnliche Schriften

Fügen Sie zu Ihrem Dockerfile hinzu:

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

Option 2: Benutzerdefinierte Schriften über @font-face einbetten

Für nicht-systemeigene Schriftarten wie Poppins oder Roboto deklarieren Sie diese im HTML mit @font-face unter Angabe eines Pfads zu einer .ttf-Datei, die im Docker-Image gebündelt ist:

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

Option 3: Verwenden Sie den Druck CSS Medientyp

Legen Sie CssMediaType fest, um druckspezifische Stile anzuwenden, einschließlich @font-face-Deklarationen:

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
$vbLabelText   $csharpLabel

Für eine vollständige Linux Docker Einrichtung siehe den IronPDF Docker-Leitfaden.

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 20,088,359 | Version: 2026.7 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.