7
2010
Utiliser une Library Externe : Html2Pdf
Aujourd’hui nous allons voir comment implanter HTML2PDF à Zend. Cet article m’a été demandé par quelques personnes ces derniers jours et justement, je pensais en parler.
HTML2PDF ainsi que d’autres libraries PHP disponibles sur internet comme PHPThumb n’utilisent pas la convention PEAR. Leur inclusion ainsi que leur utilisation ne s’effectuera pas comme les libraries utilisant la convention PEAR.
Afin d’utiliser facilement la library html2pdf, nous allons passer par une aide d’action Zend, permettant de faire la transition (Vous pouvez faire une aide de vue ou autre chose utilisant la même logique).
Pour se faire, nous allons créer une nouvelle classe PHP dans notre library perso App. Elle s’appellera App_Helper_Html2Pdf.
| PHP | | copy code | | ? |
| 01 | /** |
| 02 | * Ligne nous permettant d'utiliser la classe HTML2PDF dans souci avec Zend |
| 03 | */ |
| 04 | require_once LIBRARY_PATH.'/html2pdf/html2pdf.class.php'; |
| 05 | |
| 06 | class App_Helper_Html2Pdf extends Zend_Controller_Action_Helper_Abstract{ |
| 07 | |
| 08 | /** |
| 09 | * @var Zend_Loader_PluginLoader |
| 10 | */ |
| 11 | public $pluginLoader; |
| 12 | |
| 13 | /** |
| 14 | * Constructeur: initialisee le chargeur de classes d'aides ou plugins |
| 15 | * |
| 16 | * @return void |
| 17 | */ |
| 18 | public function __construct() |
| 19 | { |
| 20 | $this->pluginLoader = new Zend_Loader_PluginLoader(); |
| 21 | } |
| 22 | |
| 23 | /** |
| 24 | * Constructeur |
| 25 | * |
| 26 | * @param string sens portrait ou landscape |
| 27 | * @param string format A4, A5, ... |
| 28 | * @param string langue : fr, en, it... |
| 29 | * @param boolean $unicode TRUE means that the input text is unicode (default = true) |
| 30 | * @param String $encoding charset encoding; default is UTF-8 |
| 31 | * @param array marges par defaut, dans l'ordre (left, top, right, bottom) |
| 32 | * @return null |
| 33 | */ |
| 34 | public function instanceClass($sens = 'P', $format = 'A4', $langue='fr', $unicode=true, $encoding='UTF-8', $marges = array(5, 5, 5, 8)){ |
| 35 | $html2pdf = new HTML2PDF($sens, $format, $langue, $unicode, $encoding, $marges); |
| 36 | |
| 37 | return $html2pdf; |
| 38 | } |
| 39 | |
| 40 | /** |
| 41 | * Fonction permettant d'appeler directement instanceClass |
| 42 | */ |
| 43 | public function direct($sens = 'P', $format = 'A4', $langue='fr', $unicode=true, $encoding='UTF-8', $marges = array(5, 5, 5, 8)){ |
| 44 | return $this->instanceClass($sens, $format, $langue, $unicode, $encoding, $marges); |
| 45 | } |
| 46 | } |
Pour que Html2Pdf marche ici, nous utilisons, à la première ligne de notre fichier, un require_once pointant sur la classe principale. De là, nous sommes tranquille pour la suite, PHP va se débrouiller.
Pour utiliser votre aide d’action, n’oubliez pas de rajouter la partie suivante dans votre Bootstrap.
| PHP | | copy code | | ? |
| 1 | protected function _initHelpers(){ |
| 2 | Zend_Controller_Action_HelperBroker::addPrefix('App_Helper'); |
| 3 | } |
Pour finir, pour récupérer votre objet PDF, vous n’aurez plus qu’à faire ceci dans un controller et vous pourrez manipuler votre objet Html2Pdf :
| PHP | | copy code | | ? |
| 1 | $html2pdf = $this->_helper->Html2Pdf('P','A4','fr', false, 'ISO-8859-15'); |
Maintenant vous savez comment rajouter une library externe n’utilisant pas la convention PEAR au sein d’un projet Zend. Malheureusement, avec l’arrivée de ZF2 et de PHP5.3 avec les namespaces, cela risque encore de changer.
Articles Connexes
1 Commentaire Donnez votre avis
Laisser un commentaire
Catégories
- Actualités (11)
- Android (5)
- Bases de Données (4)
- Développement (1)
- PasteQR (2)
- PHP (8)
- Systèmes et Réseau (5)
- Technologies Web (5)
- Tests (2)
- Zend Framework (30)
Commentaires récents
- (@Fritte7) (@Fritte7) dans PasteQR passe en 1.1.0
- roux dans ZendX Jquery Dialog
- Fritte7 dans Gérer des évènements dans une listview.
- Fierfeu dans Introduction à Zend Framework 2.0
- Christophe B. dans Gérer des évènements dans une listview.
Mots-Clefs
Active Directory AJAX Android Apache2 APC Bootstrap Chrome Configuration CSS Eclipse Firefox Google html HTTP Installation Internet Internet Exporer Java Javascript JQuery JQuery UI Linux Mémoire Mac MySQL Navigateur Opera PDO Pear Phing PHP Safari SGBD SMTP SQL Ubuntu View Helper Windows Server XML Zend Cache Zend DB Zend Form Zend Framework ZendX ZF 2.0
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.

Publié par Throrïn





bravo benjamin j’ai s’inspirer beaucoup sur tes codes , je suis un jeune marocain j’ai le meme processus que toi presque , moi aussi je suis très intéressé par le développement web et surtout avec zend framework et php5 je suis analyste développeur chez WebConsulting en meme temps pour cette année j’ai une licence professionnelle en informatique à l’université des sciences de meknes ,
je vous souhaite une grande réussite sur ce domaine
cordialement