【问题标题】:TCPDF do not display Chinese on Linux clientTCPDF 在 Linux 客户端不显示中文
【发布时间】:2012-10-05 00:51:02
【问题描述】:

无论我使用什么字体,我都无法让TCPDF 显示任何汉字。

我到处爬网搜索,包括这些有趣的帖子

tcpdf-utf-8-problem
tcpdf-encode-chinese-character

但仍然没有成功。

来自TCPDF 的示例#7 适用于许多不同的字符集,但如果我在文本中添加一些中文,它将显示为正方形,最奇怪的是如果我按照建议将字体更改为stsongstdlight在一条消息中,文本根本不会显示 - 但标题会。

来自TCPDF 的带有日文字体的样本#38 也不起作用。 感谢您提供任何可以让我找到新想法尝试的建议。

【问题讨论】:

标签: php pdf-generation tcpdf


【解决方案1】:

我刚刚测试了设置像

这样的字体
$pdf->SetFont('kozminproregular', '', 12);

按照tcpdf encode chinese character 的建议,它似乎工作正常。

这是我输出的示例:

【讨论】:

  • Tks for this test - 这对我来说非常令人沮丧,因为我读到几个 cmets 说他们以这种方式解决了他们的问题....这对我来说不是这样!所以现在我真的被卡住了,不知道在哪里搜索....我的机器中的某些文件是否可能已损坏?我检查了 kozminproregular.php 但因为它只有 3.5 kB 我猜字体图不存在......
  • 顺便问一下,你是 Linux 用户还是 Windows 用户?
  • kozmin 是日文字体,中文应该使用 stsongstdlight
  • 感谢这个 budwiser,很棒的帖子!注意@CedSha:字体 kozminproregular 还需要兼容字符集,如 UTF8 或 CP950。
【解决方案2】:

主要问题是由于 evince PDF 阅读器无法处理由 TCPDF 生成的 CJK 中文。 之后

sudo apt-get install poppler-data

一切都开始好转了! 我使用的是专为中文设计的 stsongstdlight 字体,与看起来像为日文设计的 kozminproregular 不同。但是我对非汉字的间距还是有问题,毕竟T,i,u...
为了解决第二个问题,我转换并使用了字体 arialuni.ttf,但这种字体不是开源的,也不是免费的。我尝试转换许多其他包含中文的 unicode 字体但没有成功。

来源:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-10
    • 2013-06-26
    • 1970-01-01
    • 2019-08-16
    • 2021-07-21
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多