Les emojis ne s'affichent pas dans IronPDF utilisant RenderHtmlAsPdf()

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

Lors du rendu de HTML contenant des caractères emoji avec RenderHtmlAsPdf(), le PDF résultant n'affiche pas les caractères emoji même s'ils apparaissent correctement dans les aperçus d'impression du navigateur et que le HTML est correctement encodé en UTF-8.

La méthode basée sur une chaîne RenderHtmlAsPdf() a des limitations de gestion Unicode qui font que les caractères emoji sont omis des PDFs de sortie. Les processus de rendu basés sur les fichiers traitent le contenu dans un contexte plus proche d'un vrai navigateur, ce qui améliore la gestion des Unicode et des emojis.

Solution

Option 1: Use RenderHtmlFileAsPdf()

Écrivez le contenu HTML dans un fichier temporaire et rendez à partir du chemin du fichier au lieu de la chaîne :

string tempPath = Path.GetTempFileName() + ".html";
File.WriteAllText(tempPath, htmlContent, System.Text.Encoding.UTF8);

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf(tempPath);

File.Delete(tempPath);
pdf.SaveAs("output.pdf");
string tempPath = Path.GetTempFileName() + ".html";
File.WriteAllText(tempPath, htmlContent, System.Text.Encoding.UTF8);

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf(tempPath);

File.Delete(tempPath);
pdf.SaveAs("output.pdf");
Imports System.IO
Imports System.Text
Imports IronPdf

Dim tempPath As String = Path.GetTempFileName() & ".html"
File.WriteAllText(tempPath, htmlContent, Encoding.UTF8)

Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf(tempPath)

File.Delete(tempPath)
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Option 2 : Convertir les emojis en entités HTML numériques

Remplacez les caractères emoji par leurs équivalents en entités HTML numériques avant le rendu :


👋

😊

👋

😊
HTML

L'option 1 évite les recherches d'entités répétées lorsque le modèle contient de nombreux caractères emoji.

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 20,088,359 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.