RenderHtmlAsPdf() Kullanarak IronPDF'de Emojiler Yüklenmiyor
HTML'i emoji karakterleri içeren RenderHtmlAsPdf() kullanarak işlerken, sonuçlanan PDF, tarayıcı yazdırma önizlemelerinde doğru göründüğü ve HTML UTF-8 olarak doğru şekilde kodlanmış olsa bile emoji karakterlerini göstermez.
Dize tabanlı RenderHtmlAsPdf() yöntemi, çıktı PDF'lerinden emoji karakterlerinin düşmesine neden olan Unicode işlemleri sınırlamalarına sahiptir. Dosya tabanlı işleme, içeriği gerçek bir tarayıcıya daha yakın bir bağlamda işler, bu da Unicode ve emoji işleme konusunda iyileşme sağlar.
Çözüm
Seçenek 1: RenderHtmlFileAsPdf() Kullan
HTML içeriğini geçici bir dosyaya yazın ve dizgeden ziyade dosya yolundan render yapın:
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")
Seçenek 2: Emojileri sayısal HTML varlıklarına dönüştürün
Render yapmadan önce emoji karakterlerini sayısal HTML varlık eşdeğerleriyle değiştirin:
👋
😊
👋
😊
Seçenek 1, şablon birçok emoji karakteri içerdiğinde tekrar eden varlık aramalarını önler.

