【问题标题】:dompdf doesn't print correctly my custom fontdompdf 无法正确打印我的自定义字体
【发布时间】:2014-01-08 15:59:05
【问题描述】:

我在使用自定义字体打印 PDF 的字母时遇到问题。 我的 Typekit 字体的脚本嵌入在我的模板中:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script type="text/javascript" src="//use.typekit.net/rhb5dhh.js"></script>
    <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
    <title></title>
  </head>
  <body>
      <div class="tk-museo" style="font-family:museo;">This is a test</div>
  </body>
</html>

应该没问题,因为我使用“tk-museo”类,其中包含css字体。

dompdf_config.inc.php的一些设置是:

- def("DOMPDF_UNICODE_ENABLED", true);
- def("DOMPDF_ENABLE_FONTSUBSETTING", false);
- def("DOMPDF_DEFAULT_FONT", "serif");
- def("DOMPDF_ENABLE_PHP", true);
- def("DOMPDF_ENABLE_JAVASCRIPT", true);
- def("DOMPDF_ENABLE_REMOTE", true);
- def("DOMPDF_ENABLE_CSS_FLOAT", false);
- def("DOMPDF_AUTOLOAD_PREPEND", false);
- def("DOMPDF_ENABLE_HTML5PARSER", false);

附加信息: - 我创建了一个使用 drupal 7 生成 PDF 的模块

【问题讨论】:

    标签: fonts drupal-7 dompdf typekit


    【解决方案1】:

    dompdf 不支持 JavaScript,因此不能与 TypeKit 一起使用。您需要找到使用 CSS (@font) 或允许您下载字体的字体提供程序。

    您唯一的其他选择是使用支持 JavaScript 的 PDF 呈现库(即无头浏览器)。类似PhantomJS

    【讨论】:

    • 我已经使用 file.ttf 使用“load_font.php FontName /pathtofont.ttf”将字体上传到 dompdf,并将内联样式添加到包含文本的
      中。这样做之后,pdf会使用正确的字体生成,但字母与该字母的字体不匹配
    • 您使用的是哪个版本的 dompdf?你能发布示例 HTML 和生成的 PDF 吗?
    • 嗨,BrianS,我使用的是 DOMPDF 0.6.0 beta 3,HTML 与我在上面发布的完全相同。 pdf 仅显示文本只是为了测试字体是否正确显示,现在文本以默认字体“serif”显示。
    • 加载字体时没有错误?字体缓存中的字体是否位于dompdf/lib/fonts/dompdf_font_family_cache.php(或.dist.php)?
    • 嗨 BrianS,是的,字体在 dompdf_font_family_cache.php 中正确表示
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签