登录
首页 >  文章 >  php教程

PHP生成PDF文档方法详解

时间:2026-05-26 11:03:15 404浏览 收藏

在PHP中动态生成PDF文档有多种成熟方案,本文系统介绍了TCPDF、Dompdf、MPDF和FPDF四大主流库的核心特性与实操步骤:TCPDF功能全面、原生支持UTF-8和HTML解析;Dompdf擅长将现有HTML/CSS精准渲染为PDF,适合网页导出场景;MPDF在多语言(尤其是中文、阿拉伯文等)排版上表现卓越,内置智能字体映射与丰富页面控制;FPDF则以轻量灵活见长,适合需底层精细绘制的定制化需求,但需手动配置中文字体。无论你是快速导出报表、生成合同,还是构建多语言电子文档系统,都能从中找到匹配的技术选型与开箱即用的代码范例。

PHP怎么生成PDF文档_PHP创建与输出PDF文件指南【操作】

如果您需要在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';

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');

本篇关于《PHP生成PDF文档方法详解》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>