【发布时间】:2012-02-16 15:00:06
【问题描述】:
我使用了 DOMPDF 库,但现在我遇到了 unicode 语言的内容问题。我找到了这个dompdf help 但我不明白这一点。谁能告诉这个细节? 谢谢
【问题讨论】:
标签: php pdf pdf-generation dompdf
我使用了 DOMPDF 库,但现在我遇到了 unicode 语言的内容问题。我找到了这个dompdf help 但我不明白这一点。谁能告诉这个细节? 谢谢
【问题讨论】:
标签: php pdf pdf-generation dompdf
.ttf 格式的字体,其字符支持您的给定语言.afm 文件:
cd进入包含load_font.php的目录,然后运行php load_font.php FontName /path/to/font.ttf
dompdf/lib/fonts。如果您以前这样做过,请将相关行添加到dompdf_font_family_cache,否则只需将dompdf_font_family_cache.sample 重命名为dompdf_font_family_cache
启用 DOMPDF 的 Unicode 模式,确保该行
define("DOMPDF_UNICODE_ENABLED", true);
在dompdf_config.inc.php 中设置。如果它读取 false 而不是 true,请更改它。
【讨论】:
尝试使用推荐的DOMPDF method 来操作您的代码
这是在 DOMPDF 中启用 Unicode 支持的指南
为了确保最大的兼容性,您应该遵循以下所有步骤。单击以获取更多详细信息。
Ensure the MBString PHP extension is enabled
Install dompdf 0.6.0 or greater
Configure dompdf for Unicode support
Load a font supporting your characters into dompdf
Create a compatible HTML document
查看链接了解更多信息
【讨论】:
从 0.7 版开始,dompdf 支持并默认启用 unicode。 (因此无需配置)。
虽然不是所有的 dompdf 字体都支持 unicode。我成功使用了font-family: DejaVu Sans。
要安装自定义字体或了解更多信息,您可以阅读官方unicode how to。
【讨论】:
下载load_font.php并放入你的项目根目录
查看load_font.php
添加$fontDir = "storage/fonts";
这将显示添加字体的位置。
在例如 PREETI 下载你的字体并放在你的项目根目录
在命令行中运行php load_font.php PREETI PREETI.ttf
然后你的字体将被安装到storage/fonts目录
现在转到pdf文件并添加
<style>
body {
font-family: PREETI;
color: #1c2221;
}
</style>
【讨论】: