Intereting Posts
Как я могу использовать различные XML-библиотеки PHP для получения DOM-подобных функций и предотвращения уязвимостей DoS, таких как Billion Laughs или Quadratic Blowup? Что делает eval на base64 закодированной переменной $ _POST ? MySQL LOAD_FILE возвращает NULL PHP sudo в shell_exec Почему sprintf () ничего не выводит? PHP Найдите первую часть почтового индекса в Великобритании, когда полный или часть может быть введена Как сохранить прозрачный фон в PNG при изменении размера с помощью PHP? Отправить вложение / Загрузить файл из Symfony action Определять ориентацию видео и автоматически поворачивать при необходимости Ошибки, возникающие в коде mysqli и call_user_func_array () Заполнение другого выпадающего списка из базы данных на основе выбора выпадающего списка Преобразование RAW-фотографий в JPEG в linux / php проблемы с DATETIME в базе данных TypeError: oColumn не определено При использовании библиотеки JQuery Datatables PHP: глобальная область переменных

Ошибка «Font_Glyph_Outline» при использовании WebFonts с DOMPDF

Я пытаюсь реализовать 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-адреса шрифтов. Они кажутся своего рода хешем, поэтому возможно, что они могут уйти в какой-то момент, когда выпущена новая версия. Чтобы быть в безопасности, вы можете захотеть разместить файлы самостоятельно.