У меня есть текст, который можно редактировать в веб-редакторе 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
Страница как PDF
Я попытался добавить шрифты, используя @ font-face и Мне также надоело менять подмножество в ссылке на шрифты Google на арабский c, но ничего не получалось.
Пожалуйста, сообщите.
Заранее спасибо:)