我可以';t查找dompdf_config.inc.php或dompdf/config.custom.inc.ph


I Can't Find dompdf_config.inc.php or dompdf_config.custom.inc.php for setting "DOMPDF_UNICODE_ENABLED" true

我使用dompdf通过php将html页面保存为pdf。我在我的html页面(实际上是php页面)中使用了波斯字符,但当我试图将其保存为pdf时,导出看起来就像"???":(.我搜索了所有的网络,找到了unicode字符的配置https://github.com/dompdf/dompdf/wiki/UnicodeHowTo#configure-"dompdf_config.inc.php"或"dompdf/config.custom.inc.php"文件中的dompdf-for-unicode-support。但问题是,我无法在我的所有dompdf文件夹和所有文件系统中找到这样的文件。请有人告诉我它在哪里,或者我必须做什么。另外一件事是,我必须使用dompdf,因为它与CSS的兼容性非常好。谢谢

这是Export。https://i.stack.imgur.com/nYAzW.png

这是我的密码。

require("dompdf/autoload.inc.php");
use Dompdf'Dompdf;
$dompdf = new Dompdf();
$dompdf->loadHtml("<html><head>
<meta http-equiv='"Content-Type'" content='"text/html;charset=utf-8'">
<link rel='"stylesheet'" type='"text/css'" href='"styles/scorestyle.css'">
</head>
<body><div>
<div id='"showscorediv'"><table><tbody><tr class='"scoresubject'"><th colspan='"2'">کارنامه ارزیابی</th></tr><tr class='"scorecategory'"><th>شاخص ها</th><th>امیتاز ها</th></tr><tr><td><span class='"level_0'">شاخص های کیفی</span></td><td class='"scoretd'">62</td></tr><tr><td><span class='"level_1'">شاخص های مرتبط با تیم کاری</span></td><td class='"scoretd'">10</td></tr><tr><td><span class='"level_1'">شاخص های مرتبط با محصول</span></td><td class='"scoretd'">28</td></tr><tr><td><span class='"level_1'">شاخص های مرتبط با بازار</span></td><td class='"scoretd'">24</td></tr><tr><td><span class='"level_0'">شاخص های کمی</span></td><td class='"scoretd'">60</td></tr><tr><td><span class='"level_1'">شاخص های تولیدی</span></td><td class='"scoretd'">20</td></tr><tr><td><span class='"level_1'">شاخص های درآمدی</span></td><td class='"scoretd'">14</td></tr><tr><td><span class='"level_1'">شاخص های هزینه ای</span></td><td class='"scoretd'">26</td></tr><tr class='"scoresubject'"><th>امتیاز کل</th><th>122</th></tr></tbody></table>
</div>
</div></body></html>");
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream();

您似乎正在使用dompdf 0.7.0,它不再使用dompdf_config.inc.php配置文件。此版本始终启用Unicode支持。

要显示示例代码中使用的字符,您需要确保:

  1. 您提供的字体支持这些字符(看起来就是这样)
  2. 该dompdf同时具有对临时目录、字体目录和字体缓存目录的读写功能。您可以使用$dompdf->set_option('option', 'value');(其中选项为tempDirfontDirfontCache)设置这些值
  3. 该字体可访问dompdf,并采用TTF格式
  4. 您正在正确设置内容的样式以使用您的字体。不看你的CSS很难知道

仅供参考,你不能只是把TTF/UFM放在你的字体目录中。dompdf必须记录有关字体的信息才能使用它。此外,AFM度量文件在这种情况下无论如何都不起作用,因为这表明字体上有Windows ANSI编码。Windows ANSI编码不支持示例中的字符。Dompdf使用UFM度量格式来支持Unicode。

以前版本的dompdf中包含的实用程序不再包含在0.7.0中。只要满足使用@font-face声明的要求,就不需要任何外部实用程序。但是,如果需要,您可以在dompdf-utils项目中找到load_font.php脚本的兼容版本。

由于你使用的是0.7.0(刚刚发布),互联网上的许多信息可能已经过时,所以你可能想了解如何使用它:

  • dompdf自述
  • dompdf 0.7.0发布说明
  • dompdf-wiki(注意任何版本信息)

最后,dompdf包含一个可以支持您的字符的字体(DejaVu)。尝试将以下内容添加到样式表中,以便在自定义字体不起作用时有一个后备方案:

* { font-family: BZar_0, DejaVu Sans, sans-serif; }

我刚刚从dompdf 0.6.2版本添加了dompdf_config.inc.php和dompdf/config.custom.inc.php文件,此外还将带有autoload.inc.php的dir和functions.inc.php添加到了我的dompdf 0.8.*中,它起到了作用。

要设置任何DOMPDF选项,必须定义一个命名常量。所有可用的选项都可以在这里找到:http://pxd.me/dompdf/www/setup.php

要启用波斯语字符,基本上必须启用unicode支持。

define("DOMPDF_UNICODE_ENABLED", true);

您可能还需要设置DOMPDF_FONT_DIRDOMPDF_DEFAULT_FONT,只是为了确保您使用的字体支持unicode字符。