$controller, 'action' => $action, 'params' => $params ); } public function indexAction(){} /** * Imprime la page en PDF * Par défaut, le contenu html a déjà été enregistré.. * Mais si ce n'est pas le cas retrouver le contenu * Générer le PDF gràce à wkhtmltopdf * Attention à bien retrouver les css spécifiques pour l'impression * !! Cacher le menu display:none */ public function pdfAction() { $request = $this->getRequest(); $fichier = $request->getParam('fichier'); if (substr($fichier,-4)!='.pdf') { echo 'Fichier incorrect'; exit; } $fichier = str_replace('.pdf', '', $fichier); //On Cherche le fichier html //Le fichier html n'est pas présent $elements = $this->pageParams($fichier); $contoller = $elements['controller']; $action = $elements['action']; $params = $elements['params']; $params['print'] = 'pdf'; // Désactivation affichage $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $content = $this->view->action($action, $controller, null, $params); } /** * Imprime la page en activant le javascript d'impression * Il faut récupérer le controller et l'action du nom du fichier, ainsi que * les paramètres * Par exemple : * identite-fiche-siret-id.html */ public function ecranAction() { $request = $this->getRequest(); $fichier = $request->getParam('fichier', ''); if (substr($fichier,-5)!='.html') { echo 'Fichier incorrect'; exit; } $fichier = str_replace('.html', '', $fichier); $elements = $this->pageParams($fichier); $this->view->assign('controller', $elements['controller']); $this->view->assign('action', $elements['action']); $this->view->assign('params', $elements['params']); } }