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