Потрясающий значок шрифта не отображается в сгенерированном PDF-файле в блейде Laravel - PullRequest
2 голосов
/ 11 марта 2019

Я использовал иконки Font Awesome в HTML, который отлично работает. Но когда я генерирую PDF этого HTML, все CSS и HTML работают нормально, только значок Font Awesome не отображается.

$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);

Здесь я генерирую PDF в контроллере Laravel и использую значок Font Awesome, как этот, на блейде.

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

Я использую версию Font Awesome CDN. Как мне показать иконки в моем pdf?

1 Ответ

0 голосов
/ 11 марта 2019

вам нужно добавить 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>
...