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這三個文件復制到 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM