推荐html2pdf(纯php,零依赖)和wkhtmltopdf(高保真渲染),二者均完全适配php 8.2;前者轻量易部署,适合发票报告等常规场景;后者依赖系统二进制,但css/js还原度高,适用于复杂网页导出。

PHP 8.2 环境下将 HTML 转为 PDF,推荐两种成熟、稳定、适配良好的方案:纯 PHP 的 html2pdf(轻量易集成),以及基于渲染引擎的 wkhtmltopdf(样式还原度高)。两者均完全支持 PHP 8.2,无需降级或特殊兼容处理。
✅ 推荐方案一:用 html2pdf(纯 PHP,零外部依赖)
适合大多数业务场景,如发票、报告、导出页面等。它基于 TCPDF 构建,不依赖系统命令,部署简单,调试方便。
-
安装(Composer):在项目根目录运行
composer require spipu/html2pdf -
基础使用:确保已启用
gd和mbstring扩展(PHP 8.2 默认开启)
require __DIR__.'/vendor/autoload.php';
use Spipu\Html2Pdf\Html2Pdf;
$html2pdf = new Html2Pdf('P', 'A4', 'zh');
$html2pdf->writeHTML('订单详情
订单号:#20260916001
');
html-to-pptx-converter下载使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
$html2pdf->output('order.pdf', 'D'); -
中文支持关键点:默认不内置中文字体,需手动添加(如用 Noto Sans CJK 或 simsun):
$html2pdf->addFont('simhei', '', 'simhei.php');
$html2pdf->setDefaultFont('simhei');
字体文件需从src/Fonts/目录生成或使用官方提供的字体包。
✅ 推荐方案二:用 wkhtmltopdf(高保真渲染,支持 JS/CSS3)
适合对排版、分页、CSS 动画、图表(如 Chart.js 渲染后导出)要求高的场景。需系统级安装 wkhtmltopdf 二进制程序,但 PHP 层封装友好。
-
系统安装 wkhtmltopdf:
• Windows:从 官网下载安装包,配置环境变量;
• Linux(如 CentOS/Ubuntu):
sudo apt install wkhtmltopdf 或按需下载 deb/rpm 包安装;
• 验证:wkhtmltopdf -V输出版本即成功。 -
PHP 封装调用(推荐 mikehaertl/phpwkhtmltopdf):
composer require mikehaertl/phpwkhtmltopdf
示例:
use mikehaertl\wkhtmlto\Pdf;
$pdf = new Pdf([
'binary' => '/usr/local/bin/wkhtmltopdf', // 显式指定路径更可靠
'pageSize' => 'A4',
'marginBottom' => 20,
'javascriptDelay' => 1000 // 等待 JS 渲染完成
]);
$pdf->addPage('含图表的报表
<script src="chart.js"></script>...');
if (!$pdf->saveAs('report.pdf')) {
echo $pdf->getError();
}
⚠️ 注意事项与避坑提示
-
HTML 内容必须是 UTF-8 编码,且建议在
中声明:
;否则中文可能乱码或报错。 -
相对路径资源(CSS/图片)要转为绝对路径,否则 html2pdf 或 wkhtmltopdf 无法加载。可用
realpath()或构建完整 URL。 - 避免使用 CSS Flex/Grid 复杂布局 —— html2pdf 对现代 CSS 支持有限;wkhtmltopdf 更好,但仍建议用 table 或 float 做 PDF 友好排版。
-
大文档内存溢出? html2pdf 支持分块写入:
$html2pdf->writeHTML($part1);
$html2pdf->writeHTML($part2);
? 总结选型建议
若追求快速上线、无运维负担、内容结构简单 → 选 html2pdf;
若需完美还原网页视觉效果、含动态图表或复杂 CSS → 选 wkhtmltopdf(配合 PHP 封装库)。两者在 PHP 8.2 下均经过充分验证,无兼容性风险。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










