Emojis werden in IronPDF nicht dargestellt, wenn RenderHtmlAsPdf() verwendet wird

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

Beim Rendern von HTML, das Emoji-Zeichen mit RenderHtmlAsPdf() enthält, zeigt das resultierende PDF die Emoji-Zeichen nicht an, obwohl sie in der Druckvorschau des Browsers korrekt angezeigt werden und das HTML korrekt als UTF-8 kodiert ist.

Die stringbasierte Methode RenderHtmlAsPdf() hat Einschränkungen im Umgang mit Unicode, die dazu führen, dass Emoji-Zeichen in den ausgegebenen PDFs fehlen. Dateibasierte Rendering-Prozesse verarbeiten Inhalte in einem Kontext, der näher an einem echten Browser liegt, was die Unicode- und Emoji-Behandlung verbessert.

Lösung

Option 1: Use RenderHtmlFileAsPdf()

Schreiben Sie den HTML-Inhalt in eine temporäre Datei und rendern Sie vom Dateiweg anstelle der Zeichenkette:

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: Umwandlung von Emojis in numerische HTML-Entitäten

Ersetzen Sie Emoji-Zeichen durch ihre numerischen HTML-Entität-Äquivalente vor dem Rendern:


👋

😊

👋

😊
HTML

Option 1 vermeidet wiederholte Entitätssuchen, wenn die Vorlage viele Emoji-Zeichen enthält.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 20,088,359 | Version: 2026.7 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPdf
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.