FPDF生成中文PDF文档

作者:haobinghui 时间:2018-09-30 浏览:1301 次

FPDF是个免费的PHP库可以用来创建PDF文档

官网地址:http://www.fpdf.org/

图片.png


但是官网提供的原始类库文件并不支持中文。

还好有先驱者已经解决了这个问题,需要下载中文库支持文件:http://www.fpdf.org/download/chinese.zip

解压后包含一个chinese.php中文类库文件和ex.php、ex.pdf两个示例文件。将chinese.php拷贝到fpdf项目的根目录下,如图:

图片.png


然后,需要创建一个fpdf能识别的中文字体。可以直接到windows系统的Fonts目录拷贝字体文件,然后上传到fpdf项目的font目录下,这里我用了仿宋字体 fs_gb2312.ttf


在font目录新建一个fontmaker.php文件,内容为如下:

<?php
    require('../makefont/makefont.php');
    MakeFont('fs_gb2312.ttf');
?>


直接运行font目录下的fontmaker.php文件,会有警告(忽略)


此时在font目录下生成两个新文件:fs_gb2312.z和fs_gb2312.php,如图:

图片.png


这样就制作好所需要的中文字体了。马上创建一个中文文档试下:

<?php
ini_set('display_errors', '0');
ini_set('max_execution_time', '60');
//引用文件
require('');
$pdf = new PDF_Chinese('L');
$pdf->AddGBFont('fs_gb2312','仿宋');
$pdf->AddPage();
$pdf->SetFont('fs_gb2312','B',20);
$pdf->Image('img.jpg',null,null,90,110);
/*$pdf->Cell(30,15,'序号',1);
$pdf->Cell(30,15,'姓名',1);
$pdf->Cell(30,15,'年龄',1);
$pdf->Ln();
$pdf->Cell(30,15,'1',1);
$pdf->Cell(30,15,'张三',1);
$pdf->Cell(30,15,'30',1);
$pdf->Ln();
$pdf->Cell(30,15,'2',1);
$pdf->Cell(30,15,'李四',1);
$pdf->Cell(30,15,'25',1);
$pdf->Ln();*/
$pdf->Cell(30, 15, iconv("UTF-8", "gbk", "序号"), 1, 0, 'C');
$pdf->Cell(30, 15, iconv("UTF-8", "gbk", "姓名"), 1, 0, 'C');
$pdf->Cell(30, 15, iconv("UTF-8", "gbk", "年龄"), 1, 0, 'C');
$pdf->Ln();
$pdf->Cell(30,15,'1',1);
$pdf->Cell(30, 15, iconv("UTF-8", "gbk", "张三"), 1, 0, 'C');
$pdf->Cell(30,15,'30',1);
$pdf->Ln();
$pdf->Cell(30,15,'2',1);
$pdf->Cell(30, 15, iconv("UTF-8", "gbk", "李四"), 1, 0, 'C');
$pdf->Cell(30,15,'25',1);
$pdf->Ln();
$pdf->Cell(180, 8, iconv("UTF-8", "gbk", "人员统计表"), 1, 0, 'C');
$pdf->Output();


浏览器输出一个pdf文件,可以打印或者下载

图片.png



标签: FPDF