Bandicoot
@Bandicoot
Вась-программист

Как заставить mpdf в Yii2 выводить русские буквы?

Использую это расширение: www.yiiframework.com/extension/yii2-mpdf
Поставил, настроил и вроде бы все хорошо, но упорно отказывается выводить русские буквы.
Код:
public function actionTest()
    {
        Yii::$app->response->format = Response::FORMAT_RAW;
        $headers = Yii::$app->response->headers;
        $headers->add('Content-Type', 'application/pdf');

        $content = $this->renderPartial('pdf');

        $pdf = new Pdf([
            'mode' => Pdf::MODE_CORE, // leaner size using standard fonts
            // A4 paper format
            'format' => Pdf::FORMAT_A4,
            // portrait orientation
            'orientation' => Pdf::ORIENT_PORTRAIT,
            // stream to browser inline
            'destination' => Pdf::DEST_BROWSER,
            'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
            'content' => $content,
            'options' => [
                'title' => 'Распечатка события - Service Desk',
                'subject' => 'Service Desk'
            ],
            'defaultFont' => 'Arial',
            'methods' => [
                'SetHeader' => ['Service Desk||Generated On: ' . date("Y-m-d H:i:s")],
                'SetFooter' => ['{PAGENO}']
            ]
        ]);

        return $pdf->render();
    }


Вьюха:
<p>Документ pdf</p>

Вывод:
2b42f2145578448089d09ab4e32d4526.jpg

P.S:
Менял режим отображения на MODE_UTF8, MODE_BLANK и пустую строку - все бестолку (в этом случае и вовсе не рендерит pdf-ку, ссылаясь на ошибки в консоли)
В php.ini стоит php_value mbstring.func_overload = 0 - также не помогает
  • Вопрос задан
  • 1146 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Pagliaccio
Внедряю CRM
Необходимо строку
'mode' => Pdf::MODE_CORE,
заменить на
'mode' => Pdf::MODE_UTF8,
Ответ написан
slo_nik
@slo_nik Куратор тега Yii
Доброе утро.
Так может проблема не в mpdf?
Проверьте, везде ли у Вас нужная кодировка(файл, сервер и т.д.)
Ответ написан
coderisimo
@coderisimo
$pdf->charset_in = 'utf-8'; ?

и в конструкторе

$mpdf = new \Mpdf\Mpdf([
        'mode' => 'utf-8',  // вот енто
        'format' => [190, 236], 
        'orientation' => 'L'
]);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы