DOMPDF – Class 'Font' не найден

Я пытаюсь добавить шрифт через командную строку.

Каждый раз, когда я пытаюсь, я получаю следующую ошибку.

Fatal error: Class 'Font' not found in /home/scripts/public_html/MarketingPalv2/load_font.php on line 139 

Я также получаю аналогичную ошибку, когда пытаюсь использовать @ font-face

 Fatal error: Class 'Font' not found in /home/scripts/public_html/MarketingPalv2/include/font_metrics.cls.php on line 346 

Надеюсь, вы, ребята, можете помочь.

Я понял, что это было.

Я загрузил самую новую версию php-font-lib, но мне нужна была более старая версия.

Я получил эту работу для версии 0.3.1 / 0.4 pdf-font-lib (commit: b8af0ca) и DomPDF v6.1.0 (commit: c3527d9), создав класс Font, который расширяет FontLib \ Font;

 <?php class Font extends FontLib\Font { //this is a namespace fix: } 

И в классе, где я использую DomPDF:

 require_once('lib/dompdf/include/autoload.inc.php'); require_once('lib/dompdf/lib/php-font-lib/src/FontLib/Autoloader.php'); require_once('dir/where/you/placed/the/file/Font.php'); 

Теперь класс Font доступен в глобальном пространстве имен.

Я выбираю этот подход, потому что я немного динамичнее и не хочу изменять / редактировать исходную библиотеку, так как она находится в главной ветке, и это лицензия LGPL.

Однако обратите внимание, что бета-версия DomPDF 0.7.0, выпущенная 1 мая, несовместима с последней версией pdf-font-lib. Проверьте это: https://github.com/dompdf/dompdf/releases/tag/v0.7.0-beta

Решено это для dompdf 0.6.1, используя последний pdf-шрифт-lib, отредактировав load_font.php и сделав заголовок похожим:

require_once "dompdf_config.inc.php";

require_once "lib / php-font-lib / classes / Autoloader.php"; используйте FontLib \ Font;

Я использовал dompdf-master V.0.6.1, я решил его

require_once "../lib/php-font-lib/classes/Autoloader.php"; use FontLib\Font; to font_metrics.cls.php при установке нового шрифта

Я получил эту работу для версии DomPDF v6.1, добавив

 use FontLib\Font; 

к файлу font_metrics.cls.php выше

 class Font_Metrics { 

Надеюсь, это поможет кому-то.

Если вы получите эту ошибку,

 Fatal error: Class 'Font' not found in dompdf/include/font_metrics.cls.php on line xxx 

Вы должны изменить dompdf/include/font_metrics.cls.php как dompdf/include/font_metrics.cls.php ниже. Так будет выглядеть;

 require_once DOMPDF_LIB_DIR . "/class.pdf.php"; require_once DOMPDF_LIB_DIR."/php-font-lib/classes/Autoloader.php"; use FontLib\Font; 

Вам нужно добавить только вторую и третью строки. Первый будет уже там.

Я исправил проблему путем изменения dompdf/include/font_metrics.cls.php как dompdf/include/font_metrics.cls.php ниже.

 require_once DOMPDF_LIB_DIR . "/class.pdf.php"; require_once DOMPDF_LIB_DIR."/php-font-lib/classes/Autoloader.php"; use FontLib\Font; 

Скопируйте этот код вверху