2013-01-12 40 views
0

我跟着this偉大的教程CakePHP的2.1.0致命錯誤:類 'DOMPDF' 未找到

View/Layouts/pdf/default.ctp

App::import('Vendor', 'dompdf/dompdf.php'); 
$dompdf = new DOMPDF(); 
$dompdf->load_html(utf8_decode($content_for_layout), Configure::read('App.encoding')); 
$dompdf->render(); 
echo $dompdf->output(); 

View/Bids/pfd/view.ctp是用於測試目的我經常視圖的副本。

如果我刪除PHP擴展:

App::import('Vendor', 'dompdf/dompdf'); 

我得到錯誤:

An input file is required (i.e. input_file _GET variable). 

試了require_once的組合以及沒有運氣。 (甚至試圖與另一DOMPDF新鮮下載:(從Github,拉鍊稱爲DOMPDF主)

App::import('Vendor', 'dompdf-master/dompdf.php'); 

,並得到了相同的類沒有發現錯誤

如果我在這個DOMPDF主

刪除php擴展。
App::import('Vendor', 'dompdf-master/dompdf'); 

遇到錯誤:

PHP-font-lib must either be installed via composer or copied to lib/php-font-lib 

我是積極的訪問被授予和文件是他們應該在哪裏,PHP 5.3。

根據mark的教程,它應該是非常簡單的。

你能幫忙嗎?

非常感謝!

+0

我建議你用標準的PHP測試包括()把一切第一個工作日。然後開始用Cake的App :: import替換包含一個。 (各種Cake include/import/etc方法的語法可能不直觀且簡單不可靠) – Costa

+0

謝謝@Costa;嘗試'包括(APP。'Vendor/dompdf/dompdf.php');'並得到錯誤'需要輸入文件(即input_file _GET變量)'。試過包括每個.php文件(dompdf_config.inc.php等)和相同的錯誤。刪除.php擴展名沒有找到類。 –

回答

1

要設置dompdf的正確文件是dompdf_config.inc.php。 dompdf目前不遵循CakePHP File and Classname Conventions。由於您直接加載類而不是使用使用dompdf的插件,因此您必須更加明確。看着CakePHP的書App::import() documentation,類似於下面的東西可能工作:

App::import($type = 'Vendor', 'DOMPDF', true, array(), 'dompdf_config.inc.php', false); 

當然,如果你follow the advice in this answer,你應該只使用要求:

require_once(APP . 'Vendor' . DS . 'dompdf' . DS . 'dompdf_config.inc.php'); 

最後,我建議你放下utf8_decode()電話,只要你使用dompdf 0.6.0。 dompdf 0.5.1並沒有很好地處理UTF8,但只要您遵循了Unicode How-to中的建議,最新版本就可以處理它。

您的佈局應這樣看起來更像如下:

require_once(APP . 'Vendor' . DS . 'dompdf' . DS . 'dompdf_config.inc.php'); 
$dompdf = new DOMPDF(); 
$dompdf->load_html($content_for_layout); 
$dompdf->render(); 
echo $dompdf->output(); 
+0

謝謝#布萊恩斯。現在這個班似乎在加載。 但是,Adobe報告錯誤: 文件不以'%PDF-'開頭。 Local \ EWH-jlr [+ $ y 我使用Adobe Reader X,嘗試取消選中'在瀏覽器中顯示PDF',在瀏覽器歷史記錄中清除等。 有關如何解決的任何想法? (除此之外,另一個pdf生成器(mpdf)在cakephp之外很好地工作,不能整合到蛋糕中,但PDF創建完美無缺)。我也讀過這個錯誤發生在數據在pdf呈現之前發佈時。任何暗示?我非常感謝你的幫助。 –

+0

謝謝@BrianS。他現在似乎在加載類。但是,Adobe報告錯誤:文件不以'%PDF-'開頭。 Local \ EWH-jlr [+ $ y我正在使用Adobe Reader X,嘗試取消選中「在瀏覽器中顯示PDF」,清除瀏覽器歷史記錄等。有關如何解決的任何想法? –

+0

剛試過這個插件,它使用dompdf(或Mpdf)https://github.com/ceeram/CakePdf,仍然有錯誤:文件不以'%PDF-'開頭。 !你能幫我嗎? –

相關問題