我使用Pdflib模块将内容呈现为PDF模板,并与PDF块插件一起使用。我创建了PDF块,并向其添加了字体,如Arial、杯状字体等,但在呈现时会出现错误。
Warning: Font 'Arial' with encoding 'unicode': Font file (AFM, PFM, TTF, OTF etc.) or host font not found 我在我的服务器上安装了字体,我可以在usr/share/fonts文件夹中看到它,文件夹中的所有文件都有.ttf扩展名。我使用下面的代码来呈现数据
if ($p->fill_textblock($page, $elem, $data->{$elem},"encoding=unicode") == -1) {
printf ("Warning: %s\n", $p->get_errmsg());
}如果我在Perl代码中使用字体,它可以正常工作。
my $font = 'Arial';
my $text_optlist ="font=".$font." encoding=unicode";
foreach my $elem(keys %{$data}){
if ($p->fill_textblock($page, $elem, $data->{$elem},$text_optlist) == -1) {
printf ("Warning: %s\n", $p->get_errmsg());
}但是,由于积木不起作用,我不知道它有什么问题。如有任何帮助,将不胜感激。
谢谢吉泰什
发布于 2018-04-03 08:59:46
我在我的服务器上安装了字体,我可以在usr/share/fonts文件夹中看到它,文件夹中的所有文件都有.ttf扩展名
您必须使字体可用于PDFlib。请参阅PDFlib 9.1教程,第6.4.4章“搜索字体”以及第3.1.4章“资源配置和文件搜索”。
用几句话来说: PDFlib搜索您用" SearchPath“选项指定的SearchPath控制器(y/ies)中的字体文件。/usr/share/fonts不是PDFlib搜索字体文件的默认目录。
当您希望PDFlib在此目录中搜索时,应将此目录添加为SearchPath目录。
$p->set_option("searchpath={{/usr/share/fonts} {/maybe/some/other/dir}}");还请参阅PDFlib perl示例(如starter_block.pl),它也演示了Searchpath。
https://stackoverflow.com/questions/49623001
复制相似问题