Я пытаюсь реализовать DOMPDF, все работает (благодаря нескольким пользователям Stack), но теперь у меня возникают проблемы с рендерингом WebFonts.
В соответствии с примерами проекта Google Code для DOMPDF можно использовать веб-сайты: http://pxd.me/dompdf/www/examples.php#css_at_font_face.html, html
Я обновил шрифт на странице, так как я бы сделал HTML-страницу:
<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300' rel='stylesheet' type='text/css'>
и я обновил шрифт в CSS:
body{ font-family: 'Roboto Condensed', sans-serif; }
но DOM PDF сообщает:
Class 'Font_Glyph_Outline' not found
Может ли еще один гуру DOMPDF прийти мне на помощь?
К сожалению, я еще не могу прокомментировать 🙁 Но попробовали ли вы установить параметр DOMPDF_ENABLE_FONTSUBSETTING в false в файле dompdf_config.inc.php? Это может (или не может) решить вашу проблему. Кроме этого, я понятия не имею.
Интересное чтение, хотя в отношении чего-то подобного DOMPDF-вопросов
Есть два вопроса, которые необходимо решить в вашем вопросе. Чем более насущной является ошибка PHP, которую, как указал @ tom-metcalfe, еще предстоит решить . Две части информации, которые могут помочь решить эту проблему: версия dompdf, версия PHP.
Если вы решите эту ошибку, вам нужно будет решить другую проблему: dompdf понимает только имена шрифтов в CSS шрифта. Если вы хорошо поддерживаете CSS самостоятельно, вы можете обойти эту проблему.
Вы должны работать на основе True Type Font (TTF) версии CSS, поскольку dompdf может в настоящее время вставлять только TTF. Служба веб-шрифтов Google Web-шрифтов предлагает наиболее подходящий формат на основе браузера посещения. Чтобы получить версию таблицы стилей TTF, посетите URL-адрес браузера, для которого требуется TTF для веб-шрифтов . Я использовал lynx на своем сервере (TTF должен быть резервным для неизвестных браузеров). Используйте таблицу стилей из Google для создания настраиваемого CSS, например:
@font-face { font-family: 'Roboto Condensed Light'; font-style: normal; font-weight: normal; src: local('Roboto Condensed Light'), local('RobotoCondensed-Light'), url(http://themes.googleusercontent.com/static/fonts/robotocondensed/v7/b9QBgL0iMZfDSpmcXcE8nL3QFSXBldIn45k5A7iXhnc.ttf) format('truetype'); } @font-face { font-family: 'Roboto Condensed'; font-style: normal; font-weight: normal; src: local('Roboto Condensed Regular'), local('RobotoCondensed-Regular'), url(http://themes.googleusercontent.com/static/fonts/robotocondensed/v7/Zd2E9abXLFGSr9G3YK2MsDR-eWpsHSw83BRsAQElGgc.ttf) format('truetype'); } @font-face { font-family: 'Roboto Condensed'; font-style: normal; font-weight: bold; src: local('Roboto Condensed Bold'), local('RobotoCondensed-Bold'), url(http://themes.googleusercontent.com/static/fonts/robotocondensed/v7/b9QBgL0iMZfDSpmcXcE8nDokq8qT6AIiNJ07Vf_NrVA.ttf) format('truetype'); }
Обратите внимание, что объявления font-weight
были изменены для использования именованных весов и что «светлый» вариант шрифта получил свое собственное семейное имя. Поскольку dompdf не имеет полной поддержки числовых весов, вам придется сделать это таким образом.
Я не знаю, насколько стабильны эти URL-адреса шрифтов. Они кажутся своего рода хешем, поэтому возможно, что они могут уйти в какой-то момент, когда выпущена новая версия. Чтобы быть в безопасности, вы можете захотеть разместить файлы самостоятельно.