You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用FPDF在PDF中添加表情符号失败,寻求解决方案

解决FPDF添加Emoji表情失效的问题
  • 确认字体文件路径与格式
    不要直接把NotoEmoji-Regular.ttf丢进font目录就完事,FPDF需要专属的字体文件格式。用FPDF自带的makefont.php工具转换:

    1. 找到FPDF包中的makefont.php
    2. 执行命令生成适配文件:
      php makefont.php NotoEmoji-Regular.ttf utf-8
      
    3. 把生成的NotoEmoji.php和NotoEmoji.z文件放到FPDF的font目录下
  • 修正代码中的错误
    原代码的MultiCell参数和字符引用方式有问题,调整后代码如下:

    // 加载转换后的字体文件
    $pdf->AddFont('NotoEmoji', '', 'NotoEmoji.php');
    // 设置字体大小(放大更易查看Emoji)
    $pdf->SetFont('NotoEmoji', '', 20);
    
    // 使用Unicode转义序列插入Emoji,避免编码问题
    $pdf->MultiCell(0, 15, "\u{2764}", 0, 'L'); // 爱心表情
    $pdf->MultiCell(0, 15, "\u{1F60A}", 0, 'L'); // 笑脸表情
    $pdf->MultiCell(0, 15, "\u{1F381}", 0, 'L'); // 礼物表情
    

    说明:MultiCell第一个参数设为0表示自动适配页面宽度,第二个参数是行高,设15能避免Emoji被截断。

  • 排查其他问题

    • 确保NotoEmoji-Regular.ttf是完整有效的字体文件,建议从官方渠道下载
    • 升级FPDF到最新版本,旧版本对Unicode Emoji的支持不足

内容的提问来源于stack exchange,提问作者mzarSara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 12:52:36