Comment définir les polices dans les PDF

Chaknith Bin
Chaknith Bin
octobre 12, 2023
Mise à jour février 19, 2025
Partager:
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 charge les WebFonts (tels que Google Fonts et l'API de polices web d'Adobe) et les polices d'icônes, comme celles utilisées par Bootstrap et FontAwesome.

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 le chargement de la police en lui attribuant 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'une WebFont nommée 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");

Explorez plus d'options WaitFor, telles que celles pour les polices, JavaScript, éléments HTML, et réseau au repos dans la 'Documentation de la classe WaitFor d'IronPDF'.


Exemple d'importation d'un fichier de polices

Pour utiliser un fichier de police existant, appliquez la règle @font-face dans le 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'utiliserai la police Pixelify Sans.

: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");

Limites d'Azure PDF

La plateforme d'hébergement Azure ne prend pas en charge le chargement des polices SVG par les serveurs dans leurs niveaux inférieurs d'applications web partagées. 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.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.