Emojis não estão sendo renderizados no IronPDF usando RenderHtmlAsPdf()
Ao renderizar HTML que contém caracteres emoji usando RenderHtmlAsPdf(), o PDF resultante não exibe os caracteres emoji, mesmo que eles apareçam corretamente nas visualizações de impressão do navegador e o HTML esteja corretamente codificado como UTF-8.
O método baseado em string RenderHtmlAsPdf() tem limitações de manipulação de Unicode que fazem com que os caracteres emoji sejam omitidos dos PDFs de saída. A renderização baseada em arquivo processa o conteúdo em um contexto mais próximo de um navegador real, o que melhora o tratamento de Unicode e emojis.
Solução
Option 1: Use RenderHtmlFileAsPdf()
Escreva o conteúdo HTML para um arquivo temporário e renderize a partir do caminho do arquivo ao invés da string:
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")
Opção 2: Converta emojis para entidades HTML numéricas
Substitua caracteres de emoji por seus equivalentes de entidade HTML numérica antes de renderizar:
👋
😊
👋
😊
A Opção 1 evita buscas repetidas de entidades quando o template contém muitos caracteres de emoji.

