我找不到 dompdf_config.inc.php 或 dompdf_config.custom.inc.php 来设置 "DOMPDF_UNICODE_ENABLED" true

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 时,导出的内容看起来像“??????” :( 。我搜索了所有网络,我在“dompdf_config.inc.php”或[=26=中找到了unicode字符https://github.com/dompdf/dompdf/wiki/UnicodeHowTo#configure-dompdf-for-unicode-support的配置] 文件。但问题是我无法在我所有的 dompdf 文件夹和我的所有文件系统中找到这样的文件。请有人告诉我它在哪里或我必须做什么。还有其他的我必须使用 dompdf,因为它具有出色的 CSS 兼容性。谢谢。

这是出口。 http://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 选项,您必须定义命名常量。 所有可用的选项都可以在这里找到:http://pxd.me/dompdf/www/setup.php

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

define("DOMPDF_UNICODE_ENABLED", true);

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

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

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

  1. 您提供的字体支持这些字符()。
  2. dompdf对临时目录、字体目录、字体缓存目录都具有读写能力。您可以使用 $dompdf->set_option('option', 'value'); 设置它们(其中选项为 tempDirfontDirfontCache)。
  3. dompdf 可以访问该字体,并且是 TTF 格式。
  4. 您正确设置了内容样式以使用您的字体。没有看到你的 CSS.
  5. 很难知道

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

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

中找到 load_font.php 脚本的兼容版本

由于您使用的是 0.7.0(刚刚发布),因此 Internet 上的许多信息可能已过时,因此您可能需要阅读有关如何使用它的信息:


最后,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 和 functions.inc.php 的目录到我的 dompdf 0.8.* 和它有效。