php中动态生成pdf常用四种方法:一、tcpdf支持utf-8和html解析;二、dompdf将html/css渲染为pdf;三、mpdf专优多语言排版;四、fpdf轻量级手动绘制,需额外配置中文字体。

如果您需要在PHP环境中动态生成PDF文档,可以通过多种库实现PDF的创建与输出。以下是几种常用且可靠的方法:
一、使用TCPDF库生成PDF
TCPDF是一个开源的PHP类库,支持UTF-8、HTML解析、页眉页脚、图像嵌入等功能,无需外部依赖即可运行。
1、通过Composer安装TCPDF:composer require tecnickcom/tcpdf。
2、在PHP文件中引入TCPDF类:require_once 'vendor/autoload.php';。
立即学习“PHP免费学习笔记(深入)”;
3、实例化TCPDF对象并设置文档属性:$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);。
4、添加一页并写入HTML内容:$pdf->AddPage(); $pdf->writeHTML('Hello World
', true, false, true, false, '');。
5、输出PDF到浏览器:$pdf->Output('example.pdf', 'I');。
二、使用Dompdf库渲染HTML为PDF
Dompdf将HTML和CSS转换为PDF,适合已有网页结构需直接导出的场景,对内联样式和部分CSS3支持良好。
1、通过Composer安装Dompdf:composer require dompdf/dompdf。
2、引入Autoloader并实例化Dompdf:require_once 'vendor/autoload.php'; $dompdf = new Dompdf\Dompdf();。
3、加载HTML字符串:$dompdf->loadHtml(' PDF内容
4、设置纸张大小和方向:$dompdf->setPaper('A4', 'portrait');。
5、渲染并输出PDF:$dompdf->render(); $dompdf->stream('output.pdf');。
三、使用MPDF库生成多语言PDF
MPDF专为多语言(尤其是阿拉伯语、希伯来语、中文等)排版优化,支持CSS分页、水印、页码及TrueType字体嵌入。
1、通过Composer安装MPDF:composer require mpdf/mpdf。
2、创建MPDF实例并指定字体配置:$mpdf = new \Mpdf\Mpdf(['autoScriptToLang' => true, 'autoLangToFont' => true]);。
3、写入含中文的HTML内容:$mpdf->WriteHTML(' 这是一段中文PDF内容
4、添加页眉页脚(可选):$mpdf->SetHeader('文档标题'); $mpdf->SetFooter('{PAGENO}');。
5、输出PDF文件:$mpdf->Output('chinese.pdf', 'I');。
四、使用FPDF库手动绘制PDF元素
FPDF是轻量级基础库,不依赖外部扩展,适合对PDF结构有精细控制需求的场景,但不原生支持UTF-8中文。
1、下载fpdf.php并放入项目目录,然后引入:require('fpdf.php');。
2、创建FPDF实例并添加页面:$pdf = new FPDF(); $pdf->AddPage();。
3、设置字体(需提前准备支持中文的字体文件):$pdf->AddFont('simhei', '', 'simhei.php'); $pdf->SetFont('simhei', '', 12);。
4、在指定位置输出文本:$pdf->Cell(0, 10, 'Hello 世界', 0, 1);。
5、输出PDF:$pdf->Output('basic.pdf', 'I');。










