yous
@yous

Dompdf не работает шрифт Dejavu sans?

<?php
header('Content-type: text/html; charset=UTF-8');
require_once ($_SERVER['DOCUMENT_ROOT'].'/libs/vendor/autoload.php');

use Dompdf\Dompdf;
ob_start();
?>
<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />	
		
		<style type="text/css">
			* {
				font-family: "dejavu sans", serif; // если изменить на другой шрифт, то будет работать
			}
			html,body {
				margin: 10px 30px;
				padding: 0;
				position: relative;
			}
		</style>
	</head>
	<body>
тест test
	</body>
</html>
<?
$html = ob_get_clean();

//$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');

$dompdf = new Dompdf();
 
//дефолтный шрифт - dejavu sans, т.к. он поддерживает кириллицу
$dompdf->set_option('fontDir', $_SERVER['DOCUMENT_ROOT'].'/libs/vendor/dompdf/lib/fonts');
$dompdf->set_option('defaultFont', 'dejavu sans'); // если убрать то работает
//даём возможность читать внешние ссылки (для отображения картинок извне)
$dompdf->set_option('isRemoteEnabled', true);
$dompdf->set_option('isJavascriptEnabled', false);
//запихиваем html-ку в преобразователь
$dompdf->loadHtml($html,'UTF-8');
//ставим A4 вертикально
$dompdf->setPaper('A4', 'portrait');
// Render the HTML as PDF - рендерим
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream('sfd.pdf',array('Attachment'=>0));


бред какой-то, в одном проекте работает в другом нет...

Ставлю через композер, беру пример из гита. PDF тупо не может сформироваться если указать шрифт Dejavu sans.
если указать любой другой или вообще абрукадабру написать, то pdf формируется, но поддержки кириллицы нет.
шрифт в папке есть.
что за фигня?
php7.1 dompdf 0.8.2
  • Вопрос задан
  • 30 просмотров
Пригласить эксперта
Ответы на вопрос 1
harmakit
@harmakit
Да, у самого с dompdf были проблемы..
Попробуй со шрифтом ArialUni

Устанавливать через load_font.php
php load_font.php arial arialuni.ttf

Статья про решение проблем с Юникодом: Ссылка
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
InStat Москва
от 80 000 до 120 000 руб.
Интерно Ростов-на-Дону
от 35 000 до 50 000 руб.
Ticketland.ru Москва
от 120 000 руб.