我正在使用PDFLib创建PDF文件,不幸的是,我似乎无法使用它来使用Georgia文件。除了那个之外,我几乎可以使用任何其他字体。
我尝试加载文件,以及更改搜索路径,但它似乎仍然无法正常工作。到目前为止我尝试过的事情:
$searchPath = "/Library/Fonts";
$p->set_option("searchpath= {" . $searchPath . "}");
$scoreFont = $p->load_font("Georgia", "unicode", "");
if ($scoreFont == 0){
die("Error: " . $p->get_errmsg());
}
每当我加入它时,它会给我一个" Page不能正常工作"错误。
我不确定它是否相关,但我确实在Library / Font目录中看到了Georgia.ttf文件,但没有看到System / Library / Font目录。任何人都有这方面的经验吗?任何帮助将不胜感激。
提前谢谢!
修改
我检查了我的apache日志,我发现有一个错误,列为:
Tue Aug 09 11:23:48 2016] [notice] child pid 11501 exit signal Segmentation fault (11)
另外,我检查了PDFLib日志文件,我看到了:
PDF_load_font[---------------------------------------------------------------- --------------]
[ PDFlib 9.0.5 PHP5 binding on Mac OS X-10.6 64 (le) 2016-08-09 11:23:48 ]
[ Classes: api=1 warning=1 ]
[ Enter in vi to compile it: ]
[ %s/)$/);/g and %s/"(NULL)"/NULL/g and %s/\[[^]]*\]//g ]
[ Program should run on a little-endian platform ]
[------------------------------------------------------------------------------]
PDF_set_option(p_0x1097619a8, "searchpath= {/Library/Fonts}")
[New category:resource "SearchPath:/usr/local/PDFlib"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/cmap"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/codelist"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/fonts"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/glyphlst"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/icc"]
[New category:resource "SearchPath:/Users/{username}/PDFlib"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/cmap"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/codelist"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/fonts"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/glyphlst"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/icc"]
[New category:resource "SearchPath:/Library/Fonts"]
我不确定这些条目中的任何一个是什么意思。在PDFLib日志中,唯一存在于最后一个目录中的目录是/ Library / Fonts one。在该目录中是Georgia.ttf文件。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
使用上面的代码进行快速测试,OSX上的当前PDFlib 9.0.7工作正常。因此,检查Web服务器/ PHP的错误日志文件可能是个好主意。也许你的网络服务器没有正确地给出die()案例中的消息。
如果在Web服务器日志文件中没有看到任何错误原因,则可以启用PDFlib日志记录,
$p->set_option("logging {filename {/tmp/PDFlib.log}}");
作为您的第一个PDFlib调用。然后你应该看到,如果load_font()失败(0)和可能的错误消息。
编辑:感谢您从日志文件中分享更多详细信息。条目
Tue Aug 09 11:23:48 2016] [notice] child pid 11501 exit signal Segmentation fault (11)
可能表明Mac上的HostFont问题与PHP和Webserver结合使用。你可以请禁用hostfont支持。在PDFlib PHP示例中,此调用已注释掉,因此只需启用调用:
/* Enable the following line if you experience crashes on OS X
* (see PDFlib-in-PHP-HowTo.pdf for details):
*/
$p->set_option("usehostfonts=false");