DOMPDF - 找不到类'字体'

时间:2014-03-06 13:38:11

标签: 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/include/font_metrics.cls.php on line 346

希望你们能帮忙。

8 个答案:

答案 0 :(得分:8)

我弄清楚它是什么。

我下载了最新版本的php-font-lib,但我需要旧版本。

答案 1 :(得分:3)

我通过制作扩展FontLib \ Font;的Font类来获得这个版本0.3.1 / 0.4的pdf-font-lib(commit:b8af0ca)和DomPDF v6.1.0(commit:c3527d9)的工作;

<?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许可的。

但是,请注意,5月1日发布的DomPDF 0.7.0 beta是开箱即用的,与最新的pdf-font-lib兼容。看看:https://github.com/dompdf/dompdf/releases/tag/v0.7.0-beta

答案 2 :(得分:2)

使用最新的pdf-font-lib解决了dompdf 0.6.1的问题,编辑了load_font.php并使标题看起来像:

require_once“dompdf_config.inc.php”;

require_once“lib / php-font-lib / classes / Autoloader.php”; 使用FontLib \ Font;

答案 3 :(得分:1)

我使用了dompdf-master V.0.6.1,我用

解决了它 我安装新字体时

require_once "../lib/php-font-lib/classes/Autoloader.php"; use FontLib\Font;font_metrics.cls.php

答案 4 :(得分:1)

我通过添加

为DomPDF v6.1版本工作了
use FontLib\Font;

上面的文件font_metrics.cls.php

class Font_Metrics {

答案 5 :(得分:1)

我希望这会对某人有所帮助。

如果您收到此错误,

$('.btn-book').on('click', function(){
   var flightNo = $(this).closest('div.flight-box').find('.flight-no').text();
   alert(flightNo); // = SG-264 given your example
});

您必须更改Fatal error: Class 'Font' not found in dompdf/include/font_metrics.cls.php on line xxx 文件,如下所示。所以它看起来像;

dompdf/include/font_metrics.cls.php

你需要添加第二个&amp;仅限第三行。第一个将在那里。

答案 6 :(得分:0)

我通过更改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;

将此代码复制到顶部

答案 7 :(得分:0)

我在这里参加聚会很晚,但是在2018年与dompdf一起使用CSS加载Google字体时,似乎仍然遇到此问题。我看到的具体错误是:

"Uncaught Error: Class 'FontLib\Font' not found"

在版本0.8.2(2018年7月)中,我通过以下方式加载了php-font-lib库,然后使用以下方法加载了dompdf

// 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_once()调用中删除了一个变量。