Wie man Schriftarten in PDFs C# setzt

Schriftarten in PDFs mit IronPDF C# einstellen

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

IronPDF ermöglicht es C#-Entwicklern, PDFs mit benutzerdefinierten Webfonts und Icon-Fonts aus HTML zu erstellen. Es unterstützt sowohl externe Schriftartdienste wie Google Fonts als auch lokale Schriftartdateien über CSS @font-face Regeln und gewährleistet so eine einheitliche Typografie in allen generierten PDFs.

Eine Webschriftart ist für Websites ausgelegt. Diese Schriftarten werden auf Webservern gehostet und von Webbrowsern heruntergeladen, um eine konsistente und visuell ansprechende Textrendering auf Websites zu gewährleisten, unabhängig von der lokalen Schriftverfügbarkeit des Benutzers. Zusätzlich werden Symbolschriften, die Symbole und Glyphen verwenden, häufig im Webdesign eingesetzt, um skalierbare, anpassbare Symbole zu erstellen und eine visuell konsistente Benutzeroberfläche durch CSS-Manipulation zu pflegen. Dank der Schriftartenverwaltungsfunktionen von IronPDF können Entwickler diese Schriftarten problemlos in ihren PDF-Generierungs-Workflow integrieren.

CSS umfasst Webschriftarten, die es Ihnen ermöglichen, Schriftdateien zum Download zu spezifizieren, wenn Ihre Website aufgerufen wird. IronPDF unterstützt das Laden von Schriftarten und das Rendering von HTML in PDF und eignet sich daher ideal für die Erstellung von Dokumenten, die bestimmte Branding- oder Typografiestandards erfordern. Für Entwickler, die mit internationalen Inhalten arbeiten, bietet IronPDF auch UTF-8 und internationale Sprachunterstützung.

Schnellstart: Verwendung von Webfonts bei der PDF-Generierung

Mit der C#-Bibliothek von IronPDF können Sie Web- und Icon-Fonts in Ihre PDFs einbinden. Dieser Leitfaden zeigt Ihnen, wie Sie HTML-Inhalte mit benutzerdefinierten Schriftarten rendern können, um konsistente und optisch ansprechende PDFs zu gewährleisten. Rendern Sie einfach das HTML mit IronPDF und speichern Sie Ihr gestyltes Dokument in Sekundenschnelle. Bevor Sie beginnen, stellen Sie sicher, dass Sie IronPDF in Ihrem Projekt installiert haben.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronPDF mit dem NuGet-Paketmanager.

    PM > Install-Package IronPdf

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { WaitFor = IronPdf.Rendering.WaitFor.AllFontsLoaded(2000) } }
        .RenderHtmlAsPdf("<link href=\"https://fonts.googleapis.com/css?family=Lobster\" rel=\"stylesheet\">" +
                         "<link href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css\" rel=\"stylesheet\">" +
                         "<p style=\"font-family:'Lobster', serif; font-size:30px;\">Hello Google Font</p>" +
                         "<i class=\"fa fa-coffee\" style=\"font-size:40px; color:#b00;\"></i>")
        .SaveAs("webfonts-icons.pdf");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronPDF in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Wie verwende ich WebFonts und Icons in PDFs?

IronPDF unterstützt Webschriftarten (wie Google Fonts und die Adobe Web Font API) und Symbolschriften, wie sie von Bootstrap und FontAwesome verwendet werden. Dank dieser Unterstützung eignet sich IronPDF für Projekte, die eine anspruchsvolle Typografie erfordern, von einfachen Dokumenten bis hin zu komplexen Berichten mit Markenelementen.

Schriftarten erfordern oft eine Verzögerung beim Rendern, um richtig geladen zu werden. Wenn eine Schriftart nicht richtig geladen wird, kann dies zu einer leeren Seite ohne Text führen. Sie können die Methode WaitFor.AllFontsLoaded verwenden, um zu warten, bis alle Schriftarten geladen sind, indem Sie ihr eine maximale Wartezeit zuweisen. Die standardmäßige maximale Wartezeit beträgt 500ms. Für komplexere Szenarien mit JavaScript oder dynamischen Inhalten empfehlen wir unser HTML-zu-PDF-Tutorial, das fortgeschrittene Rendering-Techniken behandelt.

Hier ist ein kleines Beispiel, wie Sie eine Webschriftart namens Lobster in Ihrem Projekt verwenden.

:path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-render-webfont.cs
using IronPdf;

// HTML contains webfont
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet"">
<p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000);

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("font-test.pdf");
$vbLabelText   $csharpLabel

Weitere WaitFor-Optionen, z. B. für Schriftarten, JavaScript, HTML-Elemente und Netzwerk-Idle, finden Sie in der Klassendokumentation 'WaitFor'(/how-to/waitfor/)' Für responsive Designs, die Schriftarten je nach Bildschirmgröße anpassen, lesen Sie unseren Leitfaden zu responsive CSS für die PDF-Darstellung](/how-to/html-to-pdf-responsive-css/).

Warum ist die Ladezeit von Schriften wichtig?

Wenn eine Schriftart nicht richtig geladen wird, kann dies zu einer leeren Seite ohne Text führen. Sie können die Methode WaitFor.AllFontsLoaded verwenden, um zu warten, bis alle Schriftarten geladen sind, indem Sie ihr eine maximale Wartezeit zuweisen. Die standardmäßige maximale Wartezeit beträgt 500ms. Die Berücksichtigung des Timings ist besonders wichtig bei der Arbeit mit komplexen Webanwendungen oder beim Rendern von WebGL-Inhalten in PDF, wo mehrere Ressourcen nacheinander geladen werden müssen.

Verzögerungen beim Laden von Schriftarten können von verschiedenen Faktoren abhängen, darunter die Netzwerkgeschwindigkeit, die Größe der Schriftartdatei und die Reaktionszeit des Servers. Wenn Sie mit mehreren benutzerdefinierten Schriftarten oder Symbolbibliotheken arbeiten, empfiehlt es sich, die Wartezeit zu erhöhen, um sicherzustellen, dass die gesamte Typografie korrekt wiedergegeben wird. Dies ist besonders wichtig für professionelle Dokumente, bei denen fehlende Schriftarten die Lesbarkeit und Markenkonsistenz beeinträchtigen könnten.

Welche Schriftartendienste werden unterstützt?

IronPDF unterstützt Webschriftarten (wie Google Fonts und die Adobe Web Font API) und Symbolschriften, wie sie von Bootstrap und FontAwesome verwendet werden. Außerdem unterstützt IronPDF:

  • Google Fonts (gesamter Katalog)
  • Adobe-Schriftarten (Typekit)
  • Font Awesome-Symbole (alle Versionen)
  • Bootstrap-Symbole
  • Material-Design-Symbole
  • Benutzerdefinierte Webfont-Dienste über CSS @import oder link Tags
  • Selbst gehostete Schriftdateien in verschiedenen Formaten (TTF, OTF, WOFF, WOFF2)

Was passiert, wenn Schriften nicht ordnungsgemäß geladen werden?

Schriftarten erfordern oft eine Verzögerung beim Rendern, um richtig geladen zu werden. Wenn eine Schriftart nicht richtig geladen wird, kann dies zu einer leeren Seite ohne Text führen. In solchen Fällen greifen die Browser in der Regel auf die Standardschriftarten des Systems zurück, was die visuelle Konsistenz Ihres Dokuments stören kann. IronPDF bietet mehrere Mechanismen zur Behandlung von Fehlern beim Laden von Schriften:

  1. Fallback-Schriftartenketten: Definieren Sie mehrere Schriftarten in Ihrer CSS font-family-Deklaration
  2. Verlängerte Wartezeiten: Erhöhen Sie den AllFontsLoaded Timeout für langsamere Verbindungen
  3. Lokale Schrifteinbettung: Verwenden Sie @font-face mit base64-codierten Schriftarten für garantierte Verfügbarkeit
  4. Schriftarten vorladen: HTML-Preload-Tags verwenden, um das Laden von Schriften zu priorisieren

Wie importiere ich Schriftdateien direkt?

Um eine bestehende Schriftdatei zu verwenden, wenden Sie die Regel @font-face im CSS-Styling an. Sie funktioniert auch, wenn eine Kombination aus der @font-face-Regel und der Einbettung von base64-kodierten Woff-Dateien verwendet wird. Im folgenden Beispiel werde ich die Pixelify Sans Font verwenden.

:path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-custom-font.cs
using IronPdf;

// Import custom font
string html = @"<!DOCTYPE html>
<html>
<head>
<style>
@font-face {font-family: 'Pixelify';
src: url('fonts\PixelifySans-VariableFont_wght.ttf');
}
p {
    font-family: 'Pixelify';
    font-size: 70px;
}
</style>
</head>
<body>
<p>Custom font</p>
</body>
</html>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("customFont.pdf");
$vbLabelText   $csharpLabel

Welche Schriftdateiformate kann ich verwenden?

Um eine bestehende Schriftdatei zu verwenden, wenden Sie die Regel @font-face im CSS-Styling an. Sie funktioniert auch, wenn eine Kombination aus der @font-face-Regel und der Einbettung von base64-kodierten Woff-Dateien verwendet wird. IronPDF unterstützt die folgenden Schriftdateiformate:

  • TTF (TrueType-Schriftart): Weitgehend unterstützt, ideal für Bildschirm und Druck
  • OTF (OpenType Font): Erweiterte typografische Funktionen, geeignet für professionelle Dokumente
  • WOFF (Web Open Font Format): Komprimiertes Format, das für die Verwendung im Web optimiert ist
  • WOFF2: Verbesserte Kompression gegenüber WOFF, kleinere Dateigrößen
  • EOT (Embedded OpenType): Legacy-Format für ältere Browser
  • SVG-Schriftarten: Vektorbasierte Schriftarten (mit Einschränkungen auf einigen Plattformen)

Wann sollte ich lokale Schriftarten gegenüber Web-Schriftarten verwenden?

Um eine bestehende Schriftdatei zu verwenden, wenden Sie die Regel @font-face im CSS-Styling an. Die Wahl zwischen lokalen und Web-Schriftarten hängt von mehreren Faktoren ab:

Verwenden Sie lokale Schriftarten, wenn:

  • Offline oder in eingeschränkten Netzwerkumgebungen arbeiten
  • Garantierte Verfügbarkeit von Schriftarten erforderlich
  • Umgang mit proprietären oder lizenzierten Schriftarten
  • Optimierung für schnelleres Rendering ohne Netzwerkverzögerungen
  • Erstellung von Dokumenten mit strengen Compliance-Anforderungen

Verwenden Sie Web Fonts, wenn:

  • Verwendung großer Schriftartenbibliotheken wie Google Fonts
  • Automatische Aktualisierung von Schriftartendateien erforderlich
  • Minimierung der Größe von Anwendungspaketen
  • Arbeiten mit häufig wechselnden Typografieanforderungen
  • Entwicklung von Anwendungen, die bereits auf eine Internetverbindung angewiesen sind

Was sind die Einschränkungen bei der Verwendung von Azure?

Die Azure-Hosting-Plattform unterstützt das Laden von SVG-Schriftarten in ihren niedrigeren, gemeinsam genutzten Webapp-Tiers nicht. Jedoch sind Azures VPS und Web Role nicht auf die gleiche Weise sandboxed und unterstützen das Rendern von Webschriftarten. Ausführliche Anleitungen zur Azure-Bereitstellung finden Sie in unserem Azure-Bereitstellungsleitfaden, der alle tier-spezifischen Einschränkungen und Umgehungsmöglichkeiten abdeckt.

Welche Azure-Tiers unterstützen Schriftarten-Rendering?

Jedoch sind Azures VPS und Web Role nicht auf die gleiche Weise sandboxed und unterstützen das Rendern von Webschriftarten. Hier ist eine Aufschlüsselung der Azure-Tier-Unterstützung:

Vollständige Unterstützung von Schriftarten:

  • Virtuelle Azure-Maschinen (alle Größen)
  • Azure-Web-Rollen
  • App Service Premium-Stufen (P1v2, P2v2, P3v2)
  • App Service Isolierte Ebenen

Eingeschränkte Schriftartenunterstützung:

  • App Service Basic Tier (B1, B2, B3) - nur Web-Schriften
  • App Service Standard tier (S1, S2, S3) - Einige Einschränkungen für SVG-Schriftarten

Keine Unterstützung für eigene Schriftarten:

  • App Service Kostenlose Stufe (F1)
  • Gemeinsame App-Service-Ebene ( D1 )

Warum haben niedrigere Azure-Tiers Schriftartenbeschränkungen?

Die Azure Hosting-Plattform unterstützt aufgrund von Sandboxing-Beschränkungen und Ressourcenbeschränkungen keine Server, die SVG-Schriftarten in ihren unteren Shared Web App-Tiers laden. Auf den unteren Ebenen sind strenge Sicherheitsgrenzen implementiert, die bestimmte Vorgänge auf Systemebene verhindern, die für das Rendering benutzerdefinierter Schriften erforderlich sind. Diese Einschränkungen tragen dazu bei, dass Azure die Isolierung mehrerer Mandanten aufrechterhält und den Missbrauch von Ressourcen in gemeinsam genutzten Umgebungen verhindert.

Um diese Einschränkungen zu umgehen, sollten Sie Folgendes in Betracht ziehen:

  1. Einbetten von Schriftarten als base64-kodierte Strings in Ihr CSS
  2. Nur Webfonts aus CDNs verwenden
  3. Pre-Rendering von PDFs in einer unterstützten Umgebung
  4. Upgrade auf eine höhere Azure-Stufe mit vollständiger Schriftartenunterstützung

Häufig gestellte Fragen

Wie kann ich Google Fonts in meinen PDF-Dokumenten verwenden?

IronPDF unterstützt Google Fonts durch HTML-Rendering. Fügen Sie einfach den Google Fonts-Link in Ihren HTML-Kopfabschnitt ein und wenden Sie die Schriftart in CSS an. IronPDF lädt diese Schriftarten herunter und rendert sie bei der PDF-Generierung, so dass Ihre benutzerdefinierte Typografie im endgültigen Dokument korrekt angezeigt wird.

Warum werden meine Webfonts in der generierten PDF-Datei nicht korrekt angezeigt?

Web-Fonts benötigen oft eine gewisse Zeit zum Laden, bevor sie gerendert werden. IronPDF bietet in den RenderingOptions die Option WaitFor.AllFontsLoaded(), mit der Sie eine Verzögerung (in Millisekunden) festlegen können, um sicherzustellen, dass die Schriftarten vor der PDF-Generierung vollständig geladen werden. Dies verhindert fehlende oder falsch gerenderte Schriftarten.

Kann ich FontAwesome-Symbole in meinen PDFs verwenden?

Ja, IronPDF unterstützt FontAwesome und andere Icon-Fonts vollständig. Fügen Sie das FontAwesome-CSS in Ihr HTML ein und verwenden Sie die entsprechenden Symbolklassen. IronPDF rendert diese Icon-Fonts als Vektorgrafiken in Ihrer PDF-Datei, wobei ihre Skalierbarkeit und visuelle Qualität erhalten bleiben.

Wie kann ich lokale Schriftdateien mit @font-face verwenden?

IronPDF unterstützt CSS @font-face-Regeln zum Laden lokaler Schriftdateien. Definieren Sie Ihre @font-face-Regel in Ihrem CSS, indem Sie den Pfad zur Schriftartdatei angeben, und wenden Sie dann die Schriftart-Familie auf Ihre HTML-Elemente an. IronPDF bettet diese benutzerdefinierten Schriftarten beim Rendern direkt in die PDF-Datei ein.

Welche Schriftformate werden für die PDF-Erstellung unterstützt?

IronPDF unterstützt Standard-Webschriftformate wie WOFF-, WOFF2-, TTF- und OTF-Dateien, wenn sie über CSS @font-face-Regeln oder externe Schriftartendienste verwendet werden. Dies gewährleistet die Kompatibilität mit den meisten modernen Webfonts und Symbolfonts, die heute verfügbar sind.

Wie kann ich eine einheitliche Typografie in verschiedenen Systemen sicherstellen?

IronPDF bettet Webfonts direkt in die generierten PDF-Dateien ein und stellt so sicher, dass Ihre benutzerdefinierte Typografie unabhängig von den auf dem System des Betrachters installierten Fonts konsistent dargestellt wird. Dies macht es ideal für die Wahrung der Markenkonsistenz in verteilten Dokumenten.

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,012,929 | Version: 2025.12 gerade veröffentlicht