TCPDF是一个生成PDF的不错的库,可惜,官方对包括中文在内的东亚字体支持不怎么样的。

场景:某项目需要根据数据库信息生成pdf格式的发票,考虑采用稳定的tcpdf,虽然还有许多其它选择,但是这个应该是首选,不说原因了。

可是发现一个事儿:当发票上有中文信息时,乱码,显示为问号。

谷歌了一通,略有所获。

TCPDF未采用ttf等通用的自提标准,而是采用的特别的字体格式,谷歌中有到处被复制的文章说应该用支持中文的Droid Sans,还言之凿凿的说tcpdf下的fonts文件夹下有个utils目录,那下面有个ttf2num.exe,可能,在老版本的tcpdf中有这个东西,但是我下载到的6.0.X版本里是没有这东西的

不过历尽千难万险,还是将Droid Sans转换为TCPDF可以接受的字体格式了(下载转换好的字体:http://pan.baidu.com/s/1bnq21Ld )。

tcpdf主文件采用的是ASCII编码,别自作主张给换成UTF-8格式。

传递给tcpdf的数据也不应该是utf-8格式的,否则,中文会出错。

将下载后的上面的字体压缩包解压,得到三个文件:droidsansfallback.php、droidsansfallback.z和droidsansfallback.ctg.z,将这三个文件复制到tcpdf/fonts目录下。

#亲测,这行不需要

除了以上几个要点外,还需要在tcpdf/config/tcpdf_config.php添加:

require_once(dirname(FILE).’/lang/chi.php’);

修改这个文件中的两个常量的定义值为:

define (‘PDF_FONT_NAME_MAIN’, ‘droidsansfallback’);

define (‘PDF_FONT_NAME_DATA’, ‘droidsansfallback’);

OK,它已经可以支持输出含有中文的pdf文档了!

php生成pdf乱码_php+tcpdf生成pdf: 中文乱码相关推荐

  1. php读取pdf文件乱码_PHP读取文件,解决中文乱码UTF-8的方法分析

    本文实例讲述了PHP读取文件,解决中文乱码UTF-8的方法.分享给大家供大家参考,具体如下: $opts = array( 'file' => array( 'encoding' => & ...

  2. php对mysql解决乱码_PHP彻底解决mysql中文乱码-阿里云开发者社区

    彻底解决mysql中文乱码 mysql是我们项目中非经常常使用的数据型数据库. 可是由于我们须要在数据库保存中文字符,所以经常遇到数据库乱码情况.以下就来介绍一下怎样彻底解决数据库中文乱码情况. 数据 ...

  3. php mysql 查询中文乱码_PHP查询MySQL返回中文乱码问题!!!

    先说明我的PHP+Apache+MySQL平台各个方面的设置--安装MySQL的时候选定字符集为GBK,php.ini的"default_charset"选项也设置为GBK,至于我 ...

  4. php csv 中文乱码_php读取csv时中文乱码怎么办?

    php读取csv时中文乱码的解决办法:首先在导入csv的php脚本文件头部加上相应代码:然后使用[$row]进行转义,将中文编码读取出来:最后使用一个[fgetcsv()]方法的替代函数,防止php该 ...

  5. 【老徐子杰】PDF转图片方法(解决中文乱码)

    [老徐子杰]PDF转图片方法(解决中文乱码) 欢迎交流使用(本文原创:转载请注明出处) 在做项目的时候,说实话大公司不可能使用破解版的DLL进行开发.所以ADOBE的组建不用,基本的BIMP转法面对各 ...

  6. ASP+Access中文乱码的解决方法,ASP中文乱码,asp乱码问题

    确保编码声明正确(例:时尚淘女之家http://www.tao36524.com) 如果您使用的是国外空间,默认是西欧而不是GB2312,你可以通过强制为GD2312的方式! 在数据提取页面的第一行代 ...

  7. 如何解决oracle中文乱码问题,oracle中解决中文乱码问题

    中文乱码问题解决 1.查看服务器端编码 select userenv('language') from dual; 查到结果是: USERENV('LANGUAGE') --------------- ...

  8. php至mysql乱码,PHP彻底解决mysql中文乱码

    彻底解决mysql中文乱码 mysql是我们项目中非经常常使用的数据型数据库. 可是由于我们须要在数据库保存中文字符,所以经常遇到数据库乱码情况.以下就来介绍一下怎样彻底解决数据库中文乱码情况. 数据 ...

  9. keil5中文乱码,编译中文乱码,串口调试助手接收中文乱码

    keil5中文乱码,编译中文乱码,串口调试助手接收中文乱码 keil5的文本编辑器输入中文乱码 一般更改编码就可以解决 打开设置界面 更改编码,可以是GBK码,也可以是UTF-8编码 编辑器中文没有乱 ...

最新文章

  1. CPU,GPU,Memory调度
  2. xml笔记整理_基础概括
  3. cve-2018-2628 Weblogic反序列化漏洞实现反弹shell
  4. 基于XMPP协议的aSmack源码分析
  5. 内排序及时间复杂度分析-插入排序选择排序交换排序归并排序分配和索引排序对比...
  6. epoll 使用详解
  7. C语言:内存的分配与管理
  8. android分辨率比例成像,像素不是唯一 决定成像效果你必知的真相
  9. 前端每隔几秒发送一个请求
  10. SQL求一个表中非重复数据及其出现的次数
  11. Qt文档阅读笔记-Visual Parent的初步理解(获取QML中的根节点及其子结点)
  12. 让一个数字显示指定位数
  13. 机器学习的所有资源链接和经验教训(八)深度学习框架
  14. 软通动力:致力智慧城市与大数据协同发展
  15. 计算机基础知识2019题库,2019年计算机基础考试题库(含答案)全
  16. 深入理解设计模式之模板模式
  17. 【托业】【新托业TOEIC新题型真题】学习笔记2-题库一--P5-6
  18. koa-body koa2 使用 koa-body 代替 koa-bodyparser 和 koa-multer
  19. 外贸独立站和外贸电商平台优劣势分析
  20. java实现图片镜像翻转

热门文章

  1. 祝福遨游:傲游浏览器3月将入住欧盟Win7用户桌面
  2. 状态机系列学习笔记01
  3. 关于xshell连接虚拟机和虚拟机连网
  4. jdk1.8和tomcat9.0、maven3.5.0配置教程
  5. 《阿里巴巴Java开发规约》插件全球首发!
  6. 在UE4 Editor中改变一个变量时同时更新相关联的其它变量
  7. 点评主流软件开发技术
  8. office 2007打字慢问题
  9. eScan Internet Security Suite 2006
  10. 【Windows Server 2019】 Windows Admin Center 4 添加服務器