zoukankan      html  css  js  c++  java
  • tcpdf中文解决方案

    这几天用wordpress搭建课程网站,遇到证书打印不出中文,记录解决方法

    步骤如下: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这三个文件复制到 TCPDFfonts 下面即可

    4.配置

    中文的解决方法为:tcpdfconfig cpdf_config.php

    define (‘PDF_FONT_NAME_MAIN’, ’helvetica’);

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

    define (‘PDF_FONT_NAME_DATA’, ’helvetica’);

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

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

    转载于:https://www.cnblogs.com/freespider/p/3378846.html

  • 相关阅读:
    java面试之String源码中equals具体实现
    JVM虚拟机—JVM的垃圾回收机制(转载)
    Mysql学习笔记—视图
    Mysql学习笔记—索引
    JVM虚拟机—JVM内存
    设计模式—装饰器模式
    设计模式—代理模式
    设计模式—适配器模式
    设计模式—观察者模式
    设计模式—建造者模式
  • 原文地址:https://www.cnblogs.com/zhoujg/p/13770603.html
Copyright © 2011-2022 走看看