Значки FontAwesome не будут отображаться в сгенерированном PDF-формате, используя mPDF

Я использую mPDF для создания payslips. Однако значки в payslip не отображаются после его создания. Он просто оставляет пустое пространство именно так:

введите описание изображения здесь

Значки должны отображаться на этих выделенных местах. До сих пор вот что я сделал:

Я использую фреймворк Yii2 PHP и вот мой контроллер действия:

public function actionPdf($id) { $model = $this->findModel($id); $earnings = EarningDetails::find()->where(['payslip_id' => $model->_id, 'status' => 1])->all(); $deductions = DeductionDetails::find()->where(['payslip_id' => $model->_id, 'status' => 1])->all(); $html = $this->render('view', [ 'model' => $model, 'earnings' => $earnings, 'deductions' => $deductions, ]); $mpdf = new mPDF('c','A5-L','0','',0,4,1,1,0,0); $mpdf->allow_charset_conversion = true; $mpdf->charset_in = 'windows-1252'; $mpdf->SetTopMargin(0); $user_password = User::find()->where(['_id' => $model->user_id ])->one(); $password = $user_password->fname.$user_password->lname; $mpdf->SetProtection(array(), $password, $password); $mpdf->WriteHTML($html); $mpdf->Output('Payslip.pdf', 'D'); exit; } 

Я что-то упускаю? Пожалуйста, дайте мне знать.

Related of "Значки FontAwesome не будут отображаться в сгенерированном PDF-формате, используя mPDF"

Кодирование вопросов в стороне, это может быть несколько вещей. Во-первых, вам необходимо интегрировать FontAwesome с установкой MPDF. Во-вторых, вам нужно подумать о том, как вы выражаете глиф в HTML.

Установка FontAwesome в mPDF

Загрузите или клонируйте FontAwesome с https://github.com/FortAwesome/Font-Awesome и скопируйте шрифты / fontawesome-webfont.ttf в каталог MPDF ttfonts / .

В файле MDPF config_fonts.php добавьте следующие строки в $this->fontdata :

  /* FontAwesome */ "fontawesome" => array( 'R' => "fontawesome-webfont.ttf" ), 

Добавление глифа в HTML

Вам нужно иметь в виду, что CSS :before псевдоселектором, обычно используемым для добавления глифов FontAwesome в HTML, не работает в mPDF.

Плохо:

 <i class="fa fa-smile-o"></i> 

… потому что это правило CSS FontAwesome не работает в mPDF:

 .fa-smile-o:before { content: "\f118"; } 

Хорошо:

 <i class="fa">&#xf118;</i> 

Вы можете получить кодовую точку Юникода для каждого глифа, щелкнув по нему в списке значков FontAwesome, но Cheatsheet более удобен для этого.