Php DOMPDF-Class';字体';找不到

Php DOMPDF-Class';字体';找不到,php,dompdf,Php,Dompdf,我正试图通过命令行添加字体 每次我尝试时都会出现以下错误 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/inc

我正试图通过命令行添加字体

每次我尝试时都会出现以下错误

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字体库,但我需要一个旧版本。

通过编辑load_font.php并使标题看起来像以下内容,使用最新的pdf字体库解决了dompdf 0.6.1的问题:

需要一次“dompdf\u config.inc.php”

需要_once“lib/php font lib/classes/Autoloader.php”;
使用FontLib\Font

我通过创建一个扩展FontLib\font的字体类,在pdf字体库(commit:b8af0ca)的0.3.1/0.4版和DomPDF v6.1.0(commit:c3527d9)中实现了这一点

<?php
class Font extends FontLib\Font {
    //this is a namespace fix:
}
现在,该类字体在全局命名空间中可用

我选择这种方法是因为我处于一种更加动态的环境中,不想更改/编辑原始库,因为它来自主分支,并且是LGPL许可的


但是,请注意,5月1日发布的DomPDF 0.7.0 beta版与最新的pdf字体库完全兼容。查看:

我使用了dompdf master V.0.6.1,我通过

require_once.“./lib/php font-lib/classes/Autoloader.php”;

使用FontLib\Font
font\u metrics.cls.php
当我安装新字体时,我通过添加

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\u 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\u 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;

复制上面的代码

我来晚了,但2018年使用
dompdf
加载带有CSS的Google字体时,似乎仍然会遇到这个问题。我看到的具体错误是:

"Uncaught Error: Class 'FontLib\Font' not found"
在版本0.8.2(2018年7月)中,我通过在加载
dompdf
之前加载
php字体库来解决问题,方法如下:

// Load DOMPDF library
require_once( 'composer/phenx/php-font-lib/src/FontLib/Autoloader.php' );
require_once( 'composer/dompdf/dompdf/src/Autoloader.php' );
Dompdf\Autoloader::register();

你需要确保你的编写器路径在这里是正确的,我已经从
require\u once()
调用中删除了一个变量。

这篇文章被评为“缺少信息”,但我只需要错误消息和文件名就可以找到它和下面的解决方案。Thx,David:)您可以通过告诉我们需要下载哪个版本的php字体库来帮助其他人。3以下的版本是可编译的,例如:0.2.2版
// Load DOMPDF library
require_once( 'composer/phenx/php-font-lib/src/FontLib/Autoloader.php' );
require_once( 'composer/dompdf/dompdf/src/Autoloader.php' );
Dompdf\Autoloader::register();