Я использую DOMPDF v.0.6.1, загруженный из github для преобразования HTML в файл PDF. Я столкнулся с проблемой fontdisplay, добавляя свой настраиваемый шрифт в конфигурацию. dompdf_font_family_cache.dist.php
Я использовал http://eclecticgeek.com/dompdf/load_font.php для создания шрифта Unicode TAMIL (latha шрифтом microsoft). Я скопировал шрифты в соответствующие папки.
Но я вижу, что шрифты не печатаются, как есть.
Мой код:
<p style="font-family: tamil-latha, verdana, sans-serif;" >தமிழ்</p>
Но то, что напечатано в PDF, это:
Оба значения не одинаковы. Рядом с шрифтом приближается какая-то коробка, и отсутствует точка на последнем символе.
Примечание. Я также добавил новый шрифт в dompdf_font_family_cache.dist.php
'tamil-latha' => array ( 'normal' => DOMPDF_FONT_DIR . 'latha', 'bold' => DOMPDF_FONT_DIR . 'latha', 'italic' => DOMPDF_FONT_DIR . 'latha', 'bold_italic' => DOMPDF_FONT_DIR . 'latha', ),
Я поднял тот же вопрос в github: https://github.com/dompdf/dompdf/issues/838
Рекомендуемое решение: use dompdf v.0.6.2 Но такой версии нет здесь: https://github.com/dompdf/dompdf Помогите мне, если вы сможете получить v.0.6.2
По- видимому, у Dompdf возникают проблемы с кодировкой UTF-8. Я попробовал ваш образец с dompdf, и я столкнулся с той же проблемой, что и вы. Тем не менее, я также попробовал это с tcpdf (также бесплатно), похоже, работает хорошо.
Вот код для вашего примера, и полный источник можно скачать здесь .
<?php header('Content-type: text/html; charset=UTF-8') ;//chrome require_once('tcpdf.php'); // create new PDF document $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->setFontSubsetting(true); $pdf->SetFont('freeserif', '', 12); $pdf->AddPage(); $utf8text = ' <html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body> <p>தமிழ்</p> </body></html>'; $pdf->writeHTML($utf8text, true, 0, true, true); $pdf->Output('example_008.pdf', 'I'); ?>
Я пробовал с tcpdf, как предложил Джош. Теперь предыдущее слово подходит, но новое слово отображается неправильно.
$utf8text = ' <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body><p>தமிழ் முந்திரி </p></body> </html>';
Фактический ответ в PDF: