Festlegen von Schriftarten in PDFs

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

Ein Webfont ist eine spezielle Schriftart für die Verwendung auf Websites. Diese Schriftarten werden auf Webservern gehostet und von Webbrowsern heruntergeladen, um eine konsistente und optisch ansprechende Textdarstellung auf Websites zu gewährleisten, unabhängig von der Verfügbarkeit der lokalen Schriftart des Benutzers. Darüber hinaus werden Icon-Fonts, die Symbole und Glyphen verwenden, häufig im Webdesign eingesetzt, um skalierbare, anpassbare Icons zu erstellen und durch CSS-Manipulationen eine visuell einheitliche Benutzeroberfläche zu erhalten.

CSS enthält Web-Schriften, so dass Sie Schriftdateien angeben können, die beim Zugriff auf Ihre Website heruntergeladen werden. IronPDF unterstützt das Laden von Schriften und die Umwandlung von HTML in PDF.

Erste Schritte mit IronPDF

Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.

Erster Schritt:
green arrow pointer

WebFonts und Icons verwenden Beispiel

IronPDF unterstütztWebFonts (wie Google Fonts und die Adobe Web Font API) und Icon-Schriften, wie sie von Bootstrap undFontAwesome.

Schriftarten benötigen oft eine Verzögerung beim Rendern, um richtig geladen zu werden. Wenn eine Schriftart nicht korrekt geladen wird, kann dies zu einer leeren Seite ohne Text führen. Sie können die Methode WaitFor.AllFontsLoaded verwenden, um auf die Schriftart zu warten, indem Sie ihr eine maximale Wartezeit zuweisen. Die maximale Wartezeit beträgt standardmäßig 500 ms.

Hier ist ein kleines Beispiel für die Verwendung einerWebFont namens Lobster in Ihrem Projekt.

: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")
VB   C#

Weitere WaitFor-Optionen, z. B. für Schriftarten, JavaScript, HTML-Elemente und Netzwerk-Idle, finden Sie auf der Website 'IronPDF WaitFor Klasse Dokumentation.'


Beispiel für den Import einer Schriftartdatei

Um eine vorhandene Schriftdatei zu verwenden, wenden Sie die@font-face regel im CSS-Styling. Es funktioniert auch, wenn eine Kombination aus der @font-face-Regel und dem Einbetten von base64-kodierten Woff-Dateien verwendet wird. Im folgenden Beispiel werde ich Folgendes verwendenPixelify Sans Schriftart.

: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")
VB   C#

Beschränkungen von Azure PDF

DieAzure-Hosting-Plattform unterstützt keine Server, die SVG-Schriften in ihren unteren gemeinsam genutzten Webanwendungsebenen laden. Die VPS- und Web-Rolle von Azure sind jedoch nicht auf dieselbe Weise sandboxed und unterstützen das Rendern von Webschriften.