Comment définir les polices dans les PDF

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

Une police web est une police spécialisée conçue pour être utilisée sur les sites web. Ces polices sont hébergées sur des serveurs web et téléchargées par les navigateurs web afin de garantir un rendu cohérent et visuellement attrayant du texte sur les sites web, quelle que soit la disponibilité des polices locales de l'utilisateur. En outre, les polices d'icônes, qui utilisent des symboles et des glyphes, sont souvent utilisées dans la conception de sites web pour créer des icônes évolutives et personnalisables et maintenir une interface utilisateur visuellement cohérente grâce à la manipulation CSS.

CSS inclut des polices web, ce qui vous permet de spécifier des fichiers de polices à télécharger lors de l'accès à votre site web. IronPDF prend en charge le chargement des polices et le rendu au format PDF à partir de HTML.

Commencez avec IronPDF

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Utiliser les polices de caractères et les icônes Exemple

IronPDF prend en chargeWebFonts (telles que Google Fonts et l'API de polices web d'Adobe) et les polices d'icônes, telles que celles utilisées par Bootstrap etFontAwesome.

Les polices de caractères nécessitent souvent un délai de rendu pour être chargées correctement. Lorsqu'une police n'est pas chargée correctement, une page blanche sans texte peut apparaître. Vous pouvez utiliser la méthode WaitFor.AllFontsLoaded pour attendre la police en lui assignant un temps d'attente maximum. Le temps d'attente maximal par défaut est de 500 ms.

Voici un petit exemple de l'utilisation d'unWebFont nommé Lobster dans votre projet.

: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#

Découvrez d'autres options de WaitFor, telles que celles pour les polices, le JavaScript, les éléments HTML et l'inactivité du réseau sur la page 'Documentation de la classe IronPDF WaitFor.'


Exemple d'importation d'un fichier de polices

Pour utiliser un fichier de police existant, appliquez l'option@font-face dans les feuilles de style CSS. Il fonctionne également lorsque l'on utilise une combinaison de la règle @font-face et de l'intégration de fichiers woff codés en base64. Dans l'exemple suivant, j'utiliseraiPixelify Sans Font.

: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#

Limites d'Azure PDF

LesPlate-forme d'hébergement Azure ne prend pas en charge les serveurs qui chargent des polices SVG dans leurs applications web partagées de niveau inférieur. Cependant, les rôles VPS et Web d'Azure n'ont pas été mis en bac à sable de la même manière et prennent en charge le rendu des polices Web.