IronPDF使用RenderHtmlAsPdf()時無法呈現表情符號
Curtis Chau
Updated: 2026年6月10日
使用RenderHtmlAsPdf()呈現包含表情符號字元的HTML時,生成的PDF不會顯示表情符號,即使這些符號在瀏覽器列印預覽中正確顯示且HTML正確編碼為UTF-8。
基於字串的RenderHtmlAsPdf()方法在Unicode處理上有限制,導致表情符號字元在輸出PDF中消失。 基於檔案的呈現在更接近真實瀏覽器的環境中處理內容,這改善了Unicode和表情符號的處理。
解決方案
選項1:使用RenderHtmlFileAsPdf()
將HTML內容寫入臨時文件,並從文件路徑而不是字串呈現:
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")選項2:將表情符號轉換為數字HTML實體
在呈現之前,用數字HTML實體替換表情符號字元:
<!-- Instead of 👋 use: -->
👋
<!-- Instead of 😊 use: -->
😊
HTML
選項1避免了當模板包含許多表情符號字元時重複的實體查詢。

技術作家
Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
...
閱讀更多