wkhtmltopdf всегда применяет шрифт по умолчанию для арабских c символов - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть текст, который можно редактировать в веб-редакторе tinymce. После завершения текст можно экспортировать в файл PDF, используя wkhtmltopdf 0.12.5 (с исправленным qt) и snappy в качестве оболочки.

Теперь есть несколько шрифтов на выбор, и после небольшого исследования мне удалось сделать это так, что шрифт будет отображаться правильно после экспорта в PDF для Engli sh. Однако, когда текст написан на арабском c, он всегда отображается с использованием шрифта по умолчанию, а wkhtmltopdf игнорирует шрифт, выбранный в редакторе.

Вот код:

$htmlString = '<!DOCTYPE html><html><head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <link href="https://fonts.googleapis.com/css?family=Book+Antiqua|Andale+Mono|Arial|Arial+Black|Comic+Sans+MS|Courier+New|Georgia|Helvetica|Impact|Tahoma|Terminal|Times+New+Roman|Trebuchet+MS|Verdana|Webdings|Wengdings&;subset=latin" rel="stylesheet" type="text/css">
            <style>
            p, h, div, tr, ul, ol{page-break-inside: avoid !important;}
            </style>
            </head><body>' . $request->content . '</body></html>';
            $options = [
                'enable-smart-shrinking' => true,
            ];
            $pdf = App::make('snappy.pdf.wrapper');
            $pdf->loadHTML($htmlString);
            return $pdf->setOptions($options)->inline(date('d-m-y_h:i:s_a') . '.pdf');

Обратите внимание, что шрифт правильно отображается в редакторе в браузере, но он не применяется к сгенерированному документу PDF. Содержимое страницы представляет собой простые абзацы и заголовки, которые не слишком сложны, как таблицы или изображения.

Страница как html page as html

Страница как PDF as pdf

Я попытался добавить шрифты, используя @ font-face и Мне также надоело менять подмножество в ссылке на шрифты Google на арабский c, но ничего не получалось.

Пожалуйста, сообщите.

Заранее спасибо:)

...