php tcpdf怎么使用中文乱码

2020-10-27 教育 88阅读

tcpdf中文解决方案


步骤如下:1.确保你测试tcpdf能正常输出英文内容的pdf2.测试输入中文内容后显示是?的乱码或者空白

分析原因,是因为我们输入的中文,tcpdf字体库并不支持,因此乱码或者空白显示


添加一个合适的字体即可

另外tcpdf的字体分为两种方式,嵌入方式和非嵌入(系统自带)嵌入就是输出的pdf会包含你的字体文件,系统自带的要求客户端必须有你指定的字体

另外下列字体不支持嵌入The fonts that could be not embedded are only the standard core fonts and CID-0 fonts.


The PDF Core (standard) fonts are:


courier : Courier

courierb : Courier Bold

courierbi : Courier Bold Italic

courieri : Courier Italic

helvetica : Helvetica

helveticab : Helvetica Bold

helveticabi : Helvetica Bold Italic

helveticai : Helvetica Italic

symbol : Symbol

times : Times New Roman

timesb : Times New Roman Bold

timesbi : Times New Roman Bold Italic

timesi : Times New Roman Italic

zapfdingbats : Zapf Dingbats

找到了原因,明白了原理,ok,动手吧

3.下载支持中文字体的

http://sourceforge.net/projects/hawebs/files/Assistance/PHP/Droid%20Sans%20Fallback%20-%20PHP.zip/download

下载后,将它解压放在droidsansfallback.php、droidsansfallback.z以及droidsansfallback.ctg.z这三个文件复制到 TCPDF\fonts 下面即可

4.配置

中文的解决方法为:tcpdf\config\tcpdf_config.php

define (‘PDF_FONT_NAME_MAIN’, ’helvetica’);

改为: define (‘PDF_FONT_NAME_MAIN’, ’stsongstdlight’);

define (‘PDF_FONT_NAME_DATA’, ’helvetica’);

改为: define (‘PDF_FONT_NAME_DATA’, ’stsongstdlight’);

5.将数据交给TCPDF类处理时,一定要UTF8编码,否则也会出现乱码的情况发生的。


声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com