Les emojis ne s'affichent pas dans IronPDF utilisant RenderHtmlAsPdf()
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")
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 :
👋
😊
👋
😊
L'option 1 évite les recherches d'entités répétées lorsque le modèle contient de nombreux caractères emoji.

