我有自己编写的pdf生成代码。下载pdf时,pdf中有一些字体很棒的图标。它不可见。我尝试了一些解决方案。我已将fontawesome-webfont.ttf
放置在mpdf/ttfonts
中。在此之后,我在mpdf/src/
:中的fontvariables
中编写了一些代码
'fontdata' => [
"fontawesome" => [
'R' => "fontawesome-webfont.ttf",
],
];
在这之后,我在pdf生成部分写了一些代码,比如:
$mpdfConfig = array(
'mode' => 'utf-8',
'format' => 'A4-L',
'orientation' => 'P',
'default_font_size' => 10,
'default_font' => 'Arial',
'margin_top' => 17,
'margin_bottom' => 23,
//'tempDir' => '/tmp'
);
$mpdf = new MpdfMpdf($mpdfConfig);
$mpdf->curlAllowUnsafeSslRequests = true;
$stylesheet = '.fa-long-arrow-right { font-family: fontawesome; }';
$html = $this->load->view('temp/'.$date.'/stream_finder_'.$exam_id.'_'.$uid,$data,true);
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($html,2);
$mpdf->Output('Stream-finder-report.pdf', 'D');
在html页面中,
<i class="fa fa-long-arrow-right" aria-hidden="true" style="left: 6px;position: absolute;font-size: 20px;color: #07bb7b;"></i>
但在生成的pdf中,fa-long-arrow-right
是不可见的。有人能建议如何纠正吗?
通过定义将字体系列设置为空<i>
不能输出任何内容。任一:
将字符
(在Font Awesome中为向右箭头(直接写入HTML中作为实体
<i class="fa fa-long-arrow-right" aria-hidden="true" style="..."></i>
或者:
更改CSS以通过content
属性输出字符。注意,可能需要为:before
伪元素设置固定大小。
.fa-long-arrow-right:before {
content: "f178";
}