PHP的PDF扩展库TCPDF将中文字体设置为内嵌字体的方法

PHP的PDF扩展库TCPDF功能非常强大,处理PDF文件特别方便,但默认不支持中文,如何让TCPDF支持自己喜欢的字体呢?
TCPDF的字体分为两种方式,内嵌方式和非内嵌方式(系统自带),内嵌就是输出的pdf会包含你的字体文件,不依赖系统中的字体,所以将自己喜欢的字体转为TCPDF内嵌字体即可实现自定义字体。
通过composer安装TCPDF库,在终端运行如下命令即可

composer require tecnickcom/tcpdf

本文以添加仿宋字体(simfang)为例,首先下载仿宋字体,假如本地存放路径为/data/fonts/simfang.ttf,切换到./vendor/tecnickcom/tcpdf/tools文件夹
在终端运行如下命令生成内嵌字体

php ./tcpdf_addfont.php -b -t simfang -i /data/fonts/simfang.ttf

./vendor/tecnickcom/tcpdf/fonts/文件夹下面会生成simfang.ctg.z , simfang.php和simfang.z几个文件
在调用TCPDF的方法中设置仿宋字体

 $pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
 //设置仿宋字体
 $pdf->SetFont('simfang', '', 14);
36nu 分享编程知识及经验

已有账号?立即登录
微信公众号
关注36nu微信公众账号
获取最新编程知识及经验