這幾天用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.下載支持中文字體的
下載后,將它解壓放在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’, ’droidsansfallback’);
define (‘PDF_FONT_NAME_DATA’, ’helvetica’);
改為: define (‘PDF_FONT_NAME_DATA’, ’droidsansfallback’);
5.將數據交給TCPDF類處理時,一定要UTF8編碼,否則也會出現亂碼的情況發生的。
轉載於:https://www.cnblogs.com/freespider/p/3378846.html