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();