找回密码
 立即注册
查看: 115|回复: 0

修复WHMCS账单PDF不可显示中文的问题

[复制链接]

257

主题

1万

回帖

257

积分

中级会员

积分
257
发表于 2023-8-14 06:10:53 | 显示全部楼层 |阅读模式
问题原因: 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, 下载次数: 0)1 小时前 上传
    点击文件名下载附件

    用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, 2026-10-1 13:54 , Processed in 0.058116 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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