如何解决CodeIgniter框架下Dompdf中文显示乱码并嵌入字体?

2026-05-07 07:290阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1040个文字,预计阅读时间需要5分钟。

如何解决CodeIgniter框架下Dompdf中文显示乱码并嵌入字体?

链接文本

确认 Dompdf 字体目录路径和权限

CodeIgniter 项目里 Dompdf 的 lib/fonts/ 目录必须可读可写,否则 .ufm 字体度量文件无法自动生成,后续所有字体配置都会静默失败。

  • 检查实际路径是否为 application/third_party/dompdf/lib/fonts/(常见于手动集成)或 vendor/dompdf/dompdf/lib/fonts/(Composer 安装)
  • 把中文字体 TTF 文件(如 simhei.ttfSourceHanSansSC-Regular.otf)直接丢进该目录
  • 执行一次 chmod -R 755 lib/fonts/(Linux/macOS)或确保 Windows 下 IIS/Apache 用户有读取+写入权限
  • 别跳过验证:生成 PDF 后去 lib/fonts/ 看有没有对应名称的 .ufm 文件(例如 simhei.ufm),没有就说明字体没被识别

在 CodeIgniter 中正确初始化 Dompdf 并设置 defaultFont

很多乱码问题出在 CodeIgniter 的 autoloader 和 Dompdf 初始化时机上——defaultFont 必须在 new Dompdf() 前设好,且不能依赖全局配置文件。

阅读全文

本文共计1040个文字,预计阅读时间需要5分钟。

如何解决CodeIgniter框架下Dompdf中文显示乱码并嵌入字体?

链接文本

确认 Dompdf 字体目录路径和权限

CodeIgniter 项目里 Dompdf 的 lib/fonts/ 目录必须可读可写,否则 .ufm 字体度量文件无法自动生成,后续所有字体配置都会静默失败。

  • 检查实际路径是否为 application/third_party/dompdf/lib/fonts/(常见于手动集成)或 vendor/dompdf/dompdf/lib/fonts/(Composer 安装)
  • 把中文字体 TTF 文件(如 simhei.ttfSourceHanSansSC-Regular.otf)直接丢进该目录
  • 执行一次 chmod -R 755 lib/fonts/(Linux/macOS)或确保 Windows 下 IIS/Apache 用户有读取+写入权限
  • 别跳过验证:生成 PDF 后去 lib/fonts/ 看有没有对应名称的 .ufm 文件(例如 simhei.ufm),没有就说明字体没被识别

在 CodeIgniter 中正确初始化 Dompdf 并设置 defaultFont

很多乱码问题出在 CodeIgniter 的 autoloader 和 Dompdf 初始化时机上——defaultFont 必须在 new Dompdf() 前设好,且不能依赖全局配置文件。

阅读全文