【问题标题】:How to make DOMPDF support unicode font step by step?如何逐步使 DOMPDF 支持 unicode 字体?
【发布时间】:2012-02-16 15:00:06
【问题描述】:

我使用了 DOMPDF 库,但现在我遇到了 unicode 语言的内容问题。我找到了这个dompdf help 但我不明白这一点。谁能告诉这个细节? 谢谢

【问题讨论】:

标签: php pdf pdf-generation dompdf


【解决方案1】:
  1. 启用mbstring extension
  2. 查找.ttf 格式的字体,其字符支持您的给定语言
  3. 为 DOMPDF 生成一个.afm 文件:
    1. 使用命令行,cd进入包含load_font.php的目录,然后运行php load_font.php FontName /path/to/font.ttf
    2. 使用online tool,填写表格并下载它为您提供的压缩包。将此 zip 中的文件复制到 dompdf/lib/fonts。如果您以前这样做过,请将相关行添加到dompdf_font_family_cache,否则只需将dompdf_font_family_cache.sample 重命名为dompdf_font_family_cache
  4. 启用 DOMPDF 的 Unicode 模式,确保该行

    define("DOMPDF_UNICODE_ENABLED", true);
    

    dompdf_config.inc.php 中设置。如果它读取 false 而不是 true,请更改它。

【讨论】:

  • 我收到消息:无法找到 ttf2afm / ttf2pt1 可执行文件(已检查 /home/piseth/dev/example/pdf_php/lib/ttf2ufm/ttf2ufm-src/ttf2pt1)。
  • 听起来你需要安装tt2afm或tt2pt1。试试ttf2pt1.sourceforge.net
  • 我试过你的指令,但它不起作用。我在另一个主题中读到,我应该将关于字体系列的 css 添加到 print.tpl 中,然后它确实有效。
  • 我按照上述说明进行操作,但对我不起作用。
  • 当我生成包含缅甸语的pdf形式html时(நான்என்முதலாளிவீட்டில்ஜன்னல்கள்வெளிப்புறம்சுத்தம்செய்யஎன்றுபுரிந்துகொள்ளுங்கள் புரிந்துகொள்ளுங்கள்。)然后在pdf它的秀?????????????? ???????????????????????????????????????
【解决方案2】:

为此有一个wiki page

即将发布的下一个测试版(0.6 beta 3)有一个不需要命令行(不需要任何编译)的字体安装程序。 您已经可以通过查看SVN trunk 来使用它。此测试版还支持@font-face

【讨论】:

  • SVN trunk 不起作用我有 def("DOMPDF_UNICODE_ENABLED", true); 也更改了它,但仍然不起作用。
  • @user970587 这将有助于查看您尝试呈现的代码示例(以及有关您尝试过的更多详细信息)
【解决方案3】:

尝试使用推荐的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 查看链接了解更多信息

【讨论】:

    【解决方案4】:

    从 0.7 版开始,dompdf 支持并默认启用 unicode。 (因此无需配置)。

    虽然不是所有的 dompdf 字体都支持 unicode。我成功使用了font-family: DejaVu Sans

    要安装自定义字体或了解更多信息,您可以阅读官方unicode how to

    【讨论】:

      【解决方案5】:

      下载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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-01
        • 2020-08-17
        • 2011-04-02
        • 2010-12-19
        • 2017-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多