IronPDF使用RenderHtmlAsPdf()時無法呈現表情符號

Curtis Chau
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");

選項2:將表情符號轉換為數字HTML實體

在呈現之前,用數字HTML實體替換表情符號字元:

<!-- Instead of 👋 use: -->
&#128075;

<!-- Instead of 😊 use: -->
&#128522;
HTML

選項1避免了當模板包含許多表情符號字元時重複的實體查詢。

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

閱讀更多

準備開始了嗎?

Nuget Downloads 21,739,885版本:2026.10剛剛發布