字体真棒图标未在Laravel刀片中的生成的PDF中显示

时间:2019-03-11 07:25:20

标签: html css laravel pdf font-awesome

我使用了HTML中的Font Awesome图标,效果很好。但是,当我生成此HTML的PDF时,所有CSS和HTML都可以正常工作,只有“真棒字体”图标无法显示。

$pdf = PDF2::loadView('templates.'.$request->template_code, ['section' => $section])
    ->setOption('page-size', 'A4')
    ->setOption('margin-bottom', '0mm')
    ->setOption('margin-top', '0mm')
    ->setOption('margin-right', '0mm')
    ->setOption('margin-left', '0mm');

$fileName = 'resumes/'.str_slug($section['info']['data']['first_name']).'-'.$user->id.'.pdf';

Storage::disk('public')->put($fileName, $pdf->output());

return Storage::disk('public')->url($fileName);

在这里,我在Laravel控制器中生成PDF,并在刀片中使用像这样的Font Awesome图标。

<i class="fa fa-star checked"></i>

我正在使用Font Awesome CDN版本。如何在pdf文件中显示图标?

1 个答案:

答案 0 :(得分:1)

您需要使用内联样式添加 fontawesome ,并在刀片中添加html <head>标签

<style>
    @font-face {
        font-family: 'fontawesome3';
        src: url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype');
        font-weight: normal;
        font-style: normal;
    }
    .fa3 {
        display: inline-block;
        font: normal normal normal 14px/1 fontawesome3;
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

</style>

,然后在您的外套中以前缀 fa3 使用

<i class="fa3 fa-star checked"></i>