首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pdflib中加载字体?

如何在pdflib中加载字体?
EN

Stack Overflow用户
提问于 2020-06-29 12:27:19
回答 1查看 944关注 0票数 0

我试图在PHP7.4.7中加载一个.otf字体,如下所示:

  1. 添加资源路径,根据日志,该路径看起来是工作的:
代码语言:javascript
复制
$pdflib = new pdflib();
$pdflib->set_option('textformat=utf8');
$pdflib->set_option('SearchPath={{fullpath/to/my/fonts}}');

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

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

我知道这个错误:

代码语言:javascript
复制
[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作为编码,在添加搜索路径和加载字体时给出完整的路径,在设置搜索路径时使用单花括号和双大括号,但我可以取得更大的进展。

也曾尝试但未获成功:

代码语言:javascript
复制
$pdflib->set_option("stringformat=utf8");

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

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-06-29 14:59:08

一般来说,这看起来很好,但是在使用基于扩展的搜索时有一些潜在的缺陷:

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

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

由于您已经启用了日志记录,所以可以通过添加类{filesearch=3}来启用更多详细信息。有关更多细节,请参见PDFlib 9 API参考,第1.3章日志记录。这可能会给你更多的细节。我相信,打开支持箱在PDFlib分享更多细节也可能是一种选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62638139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档