【问题标题】:How to load a font in pdflib?如何在pdflib中加载字体?
【发布时间】:2020-06-29 12:27:19
【问题描述】:

我正在尝试像这样在 Php 7.4.7 中加载 .otf 字体:

  1. 添加根据日志看起来可行的资源路径:
$pdflib = new pdflib();
$pdflib->set_option('textformat=utf8');
$pdflib->set_option('SearchPath={{fullpath/to/my/fonts}}');

日志显示到目前为止没有错误:

[New category:resource "SearchPath:fullpath/to/my/fonts"]
  1. 但是当像这样加载字体时:
$font = $pdflib->load_font("My-Font-Regular", "unicode", "embedding");

我收到此错误:

[Last exception 2516 in load_font]["Font 'My-Font-Regular' with encoding 'unicode': Font file (AFM, PFM, TTF, OTF etc.) or host font not found"]

我尝试过 utf-8 作为编码,在添加搜索路径和加载字体时提供完整路径,在设置搜索路径时提供单花括号和双花括号,但我可以取得更多进展。

也试过没有成功:

$pdflib->set_option("stringformat=utf8");

我找不到任何关于可接受的编码的文档以及它甚至没有在 pdflib 提供的文档中描述的功能。

任何帮助将不胜感激。

【问题讨论】:

    标签: php fonts pdflib


    【解决方案1】:

    总的来说,这看起来不错,但在使用基于扩展的搜索时存在一些潜在的缺陷:

    • 字体文件没有支持的文件扩展名之一(如 .ttf、.otf 等)
    • 您使用的字体名称与字体文件的基本名称不同。在你的情况下,My-Font-Regular。你的字体文件是否有这个名称,扩展名为.otf => My-Font-Regular.otf
    • 路径 fullpath/to/my/fonts(或子目录)对您的 PHP 进程有错误的读取权限。
    • 在 Windows 上工作时,请注意应用完整的绝对路径。 (有关详细信息,请参阅 PDFlib 9 教程,第 2.8 章 PHP 绑定 部分 PHP 中的文件名处理。)

    请参阅 PDFlib 9 教程,第 6.4.4 章搜索字体部分基于扩展的字体文件搜索了解详细说明。

    由于您已经启用了日志记录,您可以通过添加 classes {filesearch=3} 来启用更多详细信息。请参阅 PDFlib 9 API 参考,第 1.3 章日志记录了解更多详细信息。这可能会给你更多的细节。我敢肯定,opening a Support caseopening a Support case 在 PDFlib 分享更多详细信息也可能是一种选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 2014-03-12
      相关资源
      最近更新 更多