有人能帮我吗?
我正在使用DOMPDF,它工作良好,但不与阿拉伯字符。它显示了这些(??)
我试着使用:<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
在head标签中,也:<style type="text/css">
html,body{
font-family: 'tahoma' ;
}
</style>
但它不起作用。请帮我一下提前感谢:)
在你的html中使用下面的样式
<style>
* { font-family: DejaVu Sans, sans-serif; }
</style>
dompdf/dompdf_config.inc.php
def("DOMPDF_DEFAULT_FONT", "sarif");
替换:
def("DOMPDF_DEFAULT_FONT", "dejavu sans");
为了在dompdf中添加字体,您不需要执行wiki中描述的所有步骤。我有同样的问题,我所做的就是下载字体。ttf文件,然后添加以下css到我的html:
@font-face {
font-family: Arial;
src: url(template/fonts/Arial Regular.ttf);
}
body {
background: #FFF;
font-family: Arial;
}
由于我们已经在样式中添加了font-face, dompdf将获取ttf文件并显示字体。
另一种方法是上传。ttf和。afm字体文件(例如:arial-regular.ttf, arial-regular.afm)到"lib/fonts/",然后通过添加以下代码更新"lib/fonts/"中名为"dompdf_font_family_cache.dist.php"的文件:
'arial' =>
array (
'normal' => DOMPDF_FONT_DIR . 'arial-regular',
'bold' => DOMPDF_FONT_DIR . 'arial-regular',
'italic' => DOMPDF_FONT_DIR . 'arial-regular',
'bold_italic' => DOMPDF_FONT_DIR . 'arial-regular',
),
这样当你在html页面上使用arial字体时,它会自动加载arial-regular.ttf &arial-regular。并正确显示字体
如果您有。ttf文件而不是。afm文件,您可以使用此在线工具http://everythingfonts.com/ttf-to-afm
受@Meldin Xavier回答的启发,您可以在文档中放置任何您想要的字体,并将阿拉伯语部分的字体设置为"DejaVu sans"。我必须使用它,因为我有阿拉伯语和英语,我希望英语部分有不同的字体。
参见打开DOMPDF unicode支持的快速指南:https://code.google.com/p/dompdf/wiki/CPDFUnicode
要使DOMPDF正确处理字符,必须在配置中启用Unicode支持。编辑dompdf_config.inc.php或dompdf_config.custom.inc.php,使DOMPDF_UNICODE_ENABLED为true。如果不启用此设置,当插入到PDF中时,文本将被重新编码为Windows ANSI,并且任何不在此编码范围内的字符将被转换为问号。