Set Fonts in PDFs with IronPDF C
IronPDF ermöglicht es C#-Entwicklern, PDFs mit benutzerdefinierten Webfonts und Icon-Fonts aus HTML zu erstellen. Sie unterstützt sowohl externe Schriftartendienste wie Google Fonts als auch lokale Schriftartdateien über CSS-Regeln, wodurch eine einheitliche Typografie in allen generierten PDF-Dateien gewährleistet wird.
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. Mit den Schriftverwaltungsfunktionen von IronPDF können Entwickler diese Schriften problemlos in ihren PDF-Erstellungsworkflow 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-Erstellung
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.
-
Installieren Sie IronPDF mit NuGet Package Manager
PM > Install-Package IronPdf -
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"); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- Herunterladen der C#-Bibliothek IronPDF zum Setzen von Schriftarten in PDFs
- HTML verwenden, um Schriftarten aus einer externen Quelle zu importieren oder anzufordern
- Rendering-Prozess verzögern für korrektes Font-Loading
- Rendern Sie das HTML wie gewohnt zu PDF
- Schriftdatei mit der
@font-face-Regel im CSS-Styling importieren
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");
Imports IronPdf
' HTML contains webfont
Private 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>"
Private renderer As New ChromePdfRenderer()
' Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000)
' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
' Export the PDF
pdf.SaveAs("font-test.pdf")
Entdecken Sie weitere WaitFor-Optionen, beispielsweise für Schriftarten, JavaScript, HTML-Elemente und Netzwerk-Leerlauf, in der "Klassendokumentation". Für responsive Designs, die Schriftarten basierend auf der Bildschirmgröße anpassen, lesen Sie unseren Leitfaden zu responsive CSS für PDF-Rendering.
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-Tags
@importoderlink - Selbst gehostete Schriftartdateien 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:
- Fallback-Schriftartenketten: Definieren Sie mehrere Schriftarten in Ihrer CSS-Deklaration
font-family - Verlängerte Wartezeiten: Erhöhen Sie das
AllFontsLoaded-Timeout für langsamere Verbindungen - Einbettung lokaler Schriftarten: Verwenden Sie
@font-facemit Base64-kodierten Schriftarten, um die Verfügbarkeit zu gewährleisten - Schriftarten vorladen: HTML-Preload-Tags verwenden, um das Laden von Schriften zu priorisieren
Wie importiere ich Schriftdateien direkt?
Um eine vorhandene Schriftartdatei zu verwenden, wenden Sie die Regel @font-face im CSS-Styling an. Es funktioniert auch bei Verwendung einer Kombination aus der Regel @font-face und der Einbettung von Base64-kodierten WOFF-Dateien. 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");
Imports IronPdf
' Import custom font
Private html As String = "<!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>"
Private renderer As New ChromePdfRenderer()
' Render HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
' Export the PDF
pdf.SaveAs("customFont.pdf")
Welche Schriftdateiformate kann ich verwenden?
Um eine vorhandene Schriftartdatei zu verwenden, wenden Sie die Regel @font-face im CSS-Styling an. Es funktioniert auch bei Verwendung einer Kombination aus der Regel @font-face und der Einbettung von Base64-kodierten WOFF-Dateien. IronPDF unterstützt die folgenden Schriftdateiformate:
- TTF (TrueType Font): Weitreichend unterstützt, ideal sowohl für Bildschirm als auch Druck
- OTF (OpenType Font): Erweiterte Typografiefunktionen, geeignet für professionelle Dokumente
- WOFF (Web Open Font Format): Komprimiertes Format, optimiert für die Webnutzung
- WOFF2: Verbesserte Komprimierung 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 vorhandene Schriftartdatei 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 arbeiten oder in eingeschränkten Netzwerkumgebungen
- Garantierte Verfügbarkeit von Schriftarten sicherstellen
- Umgang mit proprietären oder lizenzierten Schriften
- Optimierung für schnelleres Rendering ohne Netzverzögerungen
- Erstellung von Dokumenten mit strengen Compliance-Anforderungen
Verwenden Sie Web Fonts, wenn:
- Verwendung großer Schriftbibliotheken wie Google Fonts
- Automatische Updates zu Schriftdateien erforderlich
- Minimierung der Anwendungs-Bundle-Größe
- 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:
- Azure Virtual Machines (alle Größen)
- Azure Web-Rollen
- App Service Premium-Stufen (
P1v2,P2v2,P3v2) - App Service Isolated-Stufen
Eingeschränkte Schriftartenunterstützung:
- App Service Basic-Stufe (
B1,B2,B3) – Nur Webfonts - App Service Standard-Stufe (
S1,S2,S3) - Einige Einschränkungen bei SVG-Schriftarten
Keine Unterstützung für eigene Schriftarten:
- App Service Free Tier (
F1) - App Service Shared-Stufe (
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:
- Einbetten von Schriftarten als base64-kodierte Zeichenfolgen in Ihrem CSS
- Nur Web-Schriften von CDNs verwenden
- PDFs in einer unterstützten Umgebung vor-rendern
- Upgrade auf eine höhere Azure-Stufe mit vollständiger Schriftartenunterstützung
https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face
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.

