如何通过Composer安装mpdf库轻松生成PDF文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计873个文字,预计阅读时间需要4分钟。
不是没装成功能,而是自动加载未触发展开。Composer 安装后,必须确保项目已执行过 `composer dump-autoload`。(尤其是手动移动 vendor 或切换分支后)。Laravel/Symfony 项目通常没有问题,但纯 PHP 脚本或自建框架容易漏掉这一步。
检查方式:直接运行 php -r "var_dump(class_exists('Mpdf\Mpdf'));",输出 false 就说明 autoloader 没生效。
- 确认
vendor/autoload.php已被require_once引入,且路径正确(推荐用__DIR__ . '/vendor/autoload.php') - 不要用
include 'vendor/autoload.php'—— 缺少错误提示,失败了也静默 - 如果用了 opcache,改完 autoload 后需重启 PHP-FPM 或清空 opcache(
opcache_reset())
中文显示为方块或空白
根本原因不是编码错,而是 mPDF 找不到可用的中文字体。它默认只认 DejaVuSans 这类西文字体,对 lang="zh-CN" 的 HTML 不自动 fallback。
本文共计873个文字,预计阅读时间需要4分钟。
不是没装成功能,而是自动加载未触发展开。Composer 安装后,必须确保项目已执行过 `composer dump-autoload`。(尤其是手动移动 vendor 或切换分支后)。Laravel/Symfony 项目通常没有问题,但纯 PHP 脚本或自建框架容易漏掉这一步。
检查方式:直接运行 php -r "var_dump(class_exists('Mpdf\Mpdf'));",输出 false 就说明 autoloader 没生效。
- 确认
vendor/autoload.php已被require_once引入,且路径正确(推荐用__DIR__ . '/vendor/autoload.php') - 不要用
include 'vendor/autoload.php'—— 缺少错误提示,失败了也静默 - 如果用了 opcache,改完 autoload 后需重启 PHP-FPM 或清空 opcache(
opcache_reset())
中文显示为方块或空白
根本原因不是编码错,而是 mPDF 找不到可用的中文字体。它默认只认 DejaVuSans 这类西文字体,对 lang="zh-CN" 的 HTML 不自动 fallback。

