2014-03-06 70 views
8

我試圖通過命令行添加字體。DOMPDF - 找不到類'字體'

每次我嘗試我得到以下錯誤。

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

我也得到了類似的錯誤,當我嘗試使用@字體面

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

希望你們可以幫忙。

+1

這個代碼這個帖子被關閉評選爲「缺乏信息」,但*錯誤信息和文件名是所有我需要*找到這個和解決方案的波紋管。 Thx,David :) – brasofilo

回答

8

我想清楚它是什麼。

我下載了php-font-lib的最新版本,但我需要一個較舊的版本。

+4

你可以通過告訴我們需要下載什麼版本的php-font-lib來幫助別人。 – FlorianH

+3

以下版本是comptabile,例如:版本0.2.2 –

2

解決了這個利用最新的PDF的字體-lib的編輯load_font.php,使頭部看起來像DOMPDF 0.6.1:

require_once 「dompdf_config.inc.php」;

require_once「lib/php-font-lib/classes/Autoloader.php」; 使用FontLib \ Font;

3

通過製作擴展FontLib \ Font的Font類,我得到了pdf-font-lib(commit:b8af0ca)和DomPDF v6.1.0(commit:c3527d9)版本0.3.1/0.4的工作方式;

<?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'); 

現在類字體是在全局命名空間。

我選擇這種方法是因爲我處於更加動態的情況下,並且不想更改/編輯原始庫,因爲它來自主分支並且它是LGPL許可的。

但是請注意,5月1日發佈的DomPDF 0.7.0測試版與最新的pdf-font-lib兼容。檢查出來:https://github.com/dompdf/dompdf/releases/tag/v0.7.0-beta

1

我用DOMPDF主V.0.6.1,我解決它通過

require_once "../lib/php-font-lib/classes/Autoloader.php"; use FontLib\Font;font_metrics.cls.php當我安裝新字體

1

我得到這個工作了版本V6.1 DOMPDF通過以上

class Font_Metrics { 
加入

use FontLib\Font; 

到文件font_metrics.cls.php 10

0

我希望這會幫助別人。

如果你得到這個錯誤,

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

你有如下改變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; 

您需要僅添加第二行&第三行。第一個將已經在那裏。

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; 

複製過去在上面