)
Bon ben tout est dans le titre (ou presque tout).
En gros voilà ce qui se passe :
J'utilise Zend Framework (1.11), j'ai placé html2pdf dans le répertoire library (le répertoire porte le nom Html2pdf), j'ai ajouté un fichier Html2pdf.php construit de la sorte :
<?php
include_once('html2pdf.class.php');
class Html2pdf_Html2pdf
{
public function __construct(){
}
public function __destruct(){
}
public function init($orientation = 'P', $format = 'A4', $langue='fr', $unicode=true, $encoding='UTF-8', $marges = array(5, 5, 5, 8)){
return new HTML2PDF ($orientation, $format, $langue, $unicode, $encoding, $marges);
}
}
Le namespace est défini dans le bootstrap::initAutoload()
$autoloader->registerNamespace('Html2pdf_');
Mon controller abtract "principal" appelle html2pdf depuis sont predispatch()
abstract class ModuleControllerAbstract extends Zend_Controller_Action {
protected $PDF;
/**
* preDispatch
*/
public function preDispatch() {
//htmlToPdf
$this->PDF = new Html2pdf_Html2pdf();
}
...
}
Mon contrôler utilise et tente de générer un PDF (et c'est là que le bas blesse)
class Index_PdfController extends ModuleControllerAbstract {
public function exportPdfAction(){
$html2pdf = $this->PDF->init('P','A4','fr');
$content = "<page><h1>Exemple d'utilisation</h1><br>Ceci est un <b>exemple d'utilisation</b>de <a href='http://html2pdf.fr/'>HTML2PDF</a>.<br></page>";
$html2pdf->WriteHTML($content);
$html2pdf->Output('exemple.pdf');
$this->_helper->viewRenderer->setNoRender();
}
}
Et lorsque je teste j'ai l'erreur indiquée en titre.
Si quelqu'un a une idée...
Pour info, $html2pdf est bien un object de classe HTML2PDF (vu en var_dump)
[edit]
J'ai fais un test, juste pour voir, j'ai modifié ma méthode exportPdfAction pour qu'elle soit identique (ou presque) à l'exemple du site :
public function exportPdfAction(){
$html2pdf = new HTML2PDF('P','A4','fr');
$content = "<page><h1>Exemple d'utilisation</h1><br>Ceci est un <b>exemple d'utilisation</b>de <a href='http://html2pdf.fr/'>HTML2PDF</a>.<br></page>";
$html2pdf->WriteHTML($html2pdf->getHtmlFromPage($content));
$html2pdf->Output('exemple.pdf');
$this->_helper->viewRenderer->setNoRender();
}
Le problème reste le même