全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1540|回复: 1

[经验] 修复WHMCS账单PDF不可显示中文的问题

[复制链接]
发表于 2023-8-14 06:01:11 | 显示全部楼层 |阅读模式
本帖最后由 VMISS 于 2023-8-14 06:02 编辑

问题原因: WHMCS 使用开源项目 TCPDF 来生成 PDF 文件,但该项目本身并不支持中文字符因为缺少相关中文字体。

解决办法:

  • 下载字体文件:https://drive.google.com/file/d/1jpDY0C3YnTVV4Sq-hqHzSdnHa0rOW8xe/view?usp=sharing
  • 上传3个字体文件至 whmcs 相关目录之下:/vendor/tecnickcom/tcpdf/fonts/
  • 到WHMCS后台:Configuration () > System Settings > General Settings (WHMCS 8.0之前版本, Setup > General Settings). 选择 Invoices 选项栏。
  • PDF Font Family 选项中选择Custom并填入 droidsansfallback



对文件不放心的可自己制作相关PHP字体文件:

  • 首先下载ttf字体文件: https://github.com/aosp-mirror/platform_frameworks_base/blob/de0fe2daafb769cc37ca922ffef6dbafb8c6cae2/data/fonts/DroidSansFallbackFull.ttf
    注意这里得下载DroidSansFallbackFull 而不是 DroidSansFallback,因为本人实测直接使用DroidSansFallback.ttf制作的字体反而无法/正常显示英文。
  • 更换文件名 DroidSansFallbackFull.ttf 为 DroidSansFallback.ttf
  • 下载TCPDF项目并上传至装有PHP的linux服务器当中:https://github.com/tecnickcom/tcpdf
  • 把DroidSansFallback.ttf字体放入fonts文件夹,并随便创立一个 a.php 文件:
    代码在附带的图片当中,因论坛限制,我无法直接插入
    20230813175946.png (37.08 KB, 下载次数: 3)
  • 用php a.php 执行, 或者直接网页中打开 a.php 网页开始转档,转好之后会在fonts里面产生三个档案:droidsansfallback.php、droidsansfallback.ctg.z、droidsansfallback.z




References:

https://whmcs.community/topic/273009-pdf-invoice-version-is-broken/

https://charles4code.blogspot.com/2018/09/few-notes-about-tcpdf-open-source-php.html

https://3wa.tw/mypaper/?uid=shadow&mode=view&id=1793

https://docs.whmcs.com/PDF_Invoice_Customisation
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-31 18:50 , Processed in 0.121013 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表