comment définir des polices dans les PDF en C#

How to Set Fonts in PDFs

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 pour garantir un rendu de texte cohérent et visuellement attrayant sur les sites Web, indépendamment de la disponibilité locale des polices de l'utilisateur. De plus, les polices d'icônes, qui utilisent des symboles et des glyphes, sont souvent utilisées dans le design Web pour créer des icônes extensibles et personnalisables et maintenir une interface utilisateur visuellement cohérente grâce à la manipulation du CSS.

Le CSS inclut les polices Web, vous permettant de spécifier les fichiers de polices à télécharger lors de l'accès à votre site Web. IronPDF prend en charge le chargement et le rendu des polices en PDF à partir de HTML.

Démarrage rapide : Utiliser les polices Web dans la génération de PDF

Intégrez facilement les polices Web et d'icônes dans vos PDFs en utilisant la puissante bibliothèque C# de IronPDF. Ce guide rapide vous montre comment rendre du contenu HTML avec des polices personnalisées, assurant des PDFs cohérents et visuellement attrayants. Rendez simplement le HTML avec IronPDF et enregistrez votre document stylisé en quelques secondes.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    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. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Flux de travail minimal (5 étapes)

  1. Téléchargez la bibliothèque C# IronPDF pour définir des polices dans les PDFs
  2. Utilisez le HTML pour importer ou demander des polices à partir d'une source externe
  3. Retardez le processus de rendu pour assurer un chargement correct des polices
  4. Rendez le HTML en PDF comme d'habitude
  5. Importez un fichier de police en utilisant la règle @font-face dans le style CSS

Exemple d'utilisation des polices Web et des icônes

IronPDF supports WebFonts (such as Google Fonts and the Adobe web font API) and icon fonts, such as those used by Bootstrap and FontAwesome.

Les polices nécessitent souvent un délai dans le rendu pour se charger correctement. Quand une police n'est pas correctement chargée, cela peut entraîner l'affichage d'une page blanche sans texte. Vous pouvez utiliser la méthode WaitFor.AllFontsLoaded pour attendre que toutes les polices soient chargées en lui attribuant un temps d'attente maximum. Le temps d'attente maximum par défaut est de 500ms.

Voici un petit exemple d'utilisation d'une police Web 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");
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")
$vbLabelText   $csharpLabel

Explorez plus d'options WaitFor, comme celles pour les polices, JavaScript, éléments HTML et inactivité réseau dans la 'documentation de la classe IronPDF WaitFor'.


Exemple d'importation de fichier de police

Pour utiliser un fichier de police existant, appliquez la règle @font-face dans le style CSS. Cela fonctionne également lorsqu'on utilise une combinaison de la règle @font-face et de l'intégration de fichiers woff encodé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");
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")
$vbLabelText   $csharpLabel

Limitations sur Azure PDF

La plateforme d'hébergement Azure ne prend pas en charge le chargement des polices SVG sur leurs niveaux inférieurs d'applications Web partagées. Cependant, le VPS et le rôle Web d'Azure ne sont pas isolés de la même manière et prennent en charge le rendu des polices Web.

Questions Fréquemment Posées

Comment définissez-vous les polices dans un PDF en utilisant une bibliothèque .NET ?

Vous pouvez définir des polices dans un PDF en utilisant IronPDF en téléchargeant la bibliothèque IronPDF, en utilisant HTML pour importer ou demander des polices, en retardant le processus de rendu jusqu'à ce que les polices soient chargées et en appliquant la règle @font-face pour les polices personnalisées dans le CSS.

Quel est le rôle de la méthode WaitFor.AllFontsLoaded dans le rendu PDF ?

La méthode WaitFor.AllFontsLoaded dans IronPDF garantit que toutes les polices sont entièrement chargées avant de rendre le PDF, empêchant des problèmes comme les pages blanches causées par des polices non chargées.

Pouvez-vous utiliser les polices Google dans une application .NET pour la création de PDF ?

Oui, vous pouvez utiliser les polices Google dans une application .NET pour la création de PDF avec IronPDF en important les polices dans votre HTML et en les spécifiant dans votre CSS avant de rendre le HTML en PDF.

Comment les polices d'icônes comme FontAwesome peuvent-elles être utilisées dans des documents PDF ?

IronPDF prend en charge les polices d'icônes telles que FontAwesome, vous permettant d'incorporer des icônes évolutives et personnalisables dans vos documents PDF en incluant la police d'icônes dans votre HTML et CSS.

Quelles sont les limitations d'hébergement Azure pour le rendu de polices PDF ?

Sur la plateforme d'hébergement Azure, les niveaux inférieurs d'applications web partagées ne prennent pas en charge le chargement des polices SVG, mais les VPS et Web Role d'Azure prennent en charge le rendu complet des polices web sans ces limitations.

Comment puis-je résoudre les problèmes si mes polices personnalisées n'apparaissent pas dans le PDF ?

Si des polices personnalisées n'apparaissent pas dans le PDF, assurez-vous que les fichiers de polices sont correctement liés dans votre HTML et augmentez le temps d'attente en utilisant la méthode WaitFor.AllFontsLoaded pour permettre aux polices de se charger correctement avant le rendu.

Quel est le processus pour utiliser la règle @font-face dans CSS pour la conversion PDF ?

Pour utiliser la règle @font-face dans CSS pour la conversion PDF, définissez la police personnalisée et sa source dans votre CSS, et IronPDF appliquera ces styles lors de la conversion HTML en PDF, permettant l'utilisation de polices personnalisées.

Y a-t-il des réglages spécifiques nécessaires pour utiliser les polices Web dans la conversion PDF ?

Pour utiliser les polices Web dans la conversion PDF avec IronPDF, assurez-vous que les URL des polices sont accessibles, incluez les polices dans votre HTML via un lien ou un import, et spécifiez-les dans votre CSS. Utilisez la méthode WaitFor.AllFontsLoaded pour gérer le chargement des polices.

IronPDF prend-il en charge les polices Web et les polices d'icônes lors du ciblage de .NET 10 ?

Oui, IronPDF est entièrement compatible avec .NET 10 et prend en charge les polices Web (telles que Google Fonts ou Adobe) et les polices d'icônes comme FontAwesome. L'API fonctionne parfaitement sous .NET 10 ; vous pouvez donc utiliser HTML/CSS pour importer et afficher des polices personnalisées et des polices d'icônes, comme dans les versions précédentes de .NET.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir