IRONSOFTWAREHOME

使用RenderHtmlAsPdf()时IronPDF中表情符号不呈现

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
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 20,878,335版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户