IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Classes avec PHPExcel


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Classes avec PHPExcel
    Bonjour à tous,

    Je suis fraîchement inscris sur ce forum et déjà, demande votre aide.

    J'ai entrepris, il y a quelques temps, la création du site web de ma petite entreprise.
    Lors d'achats via celui-ci, je souhaiterais envoyer un mail de confirmation à l'utilisateur avec une pièce jointe (pdf) contenant les informations de son achat.

    J'utilise pour cela les classes PHPExcel. J'ai réussi à ouvrir, écrire et enregistrer le document Excel sans problème, mais voilà, dès que je souhaite le convertir en pdf, je butte toujours sur le même problème qui est le suivant:

    Fatal error: Uncaught exception 'PHPExcel_Writer_Exception' with message 'PDF Rendering library has not been defined.' in /home/www/30398ce4ba8eeca03558674547826581/web/9_libs/Classes/PHPExcel/Writer/PDF.php:56 Stack trace: #0 /home/www/30398ce4ba8eeca03558674547826581/web/book_info.php(205): PHPExcel_Writer_PDF->__construct(Object(PHPExcel)) #1 {main} thrown in /home/www/30398ce4ba8eeca03558674547826581/web/9_libs/Classes/PHPExcel/Writer/PDF.php on line 56
    Voici mon code source:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    /************ GENERATION OF THE DOCUMENT ************/
     
            /** PHPExcel */
                include('9_libs/Classes/PHPExcel.php');
            /** PHPExcel_Writer_Excel2007 */
                include('9_libs/Classes/PHPExcel/Writer/Excel2007.php');
            /** PHPExcel_Writer_IO */
                include('9_libs/Classes/PHPExcel/IOFactory.php');
            /** PHPExcel_Writer_PDF */
                include('9_libs/Classes/PHPExcel/Writer/PDF.php');
            /** PHPExcel_Writer_mPDF */
                //require('9_libs/Classes/PHPExcel/Writer/PDF/mPDF.php');
     
                $_SESSION['test'] = 5;
                /** Error reporting */
                error_reporting(E_ALL);
     
                $_SESSION['test'] = 5.1;
                /** Include path **/
                ini_set('include_path', ini_get('include_path').'9_libs/Classes/');
     
                $_SESSION['test'] = 5.2;
                /** Open the Excel file */
                $inputFileName = '6_documents/Finances/test.xlsx';
     
                $_SESSION['test'] = 5.3;
                /** Load $inputFileName to a PHPExcel Object  **/
                $workbook = PHPExcel_IOFactory::load($inputFileName);
     
                $_SESSION['test'] = 5.4;
                // Add some data
                $sheet = $workbook->getActiveSheet()->SetCellValue('A4', $newBill);
                $_SESSION['test'] = 5.5;
                $objWriter = new PHPExcel_Writer_PDF($workbook);
                $objWriter->setSheetIndex(0);
            $records = '6_documents/Finances/bill.pdf';
            $objWriter->save($records);
     
                $_SESSION['test'] = 5.6;
     
    /************ END OF THE GENERATION ************/
    L'erreur provient de la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $objWriter = new PHPExcel_Writer_PDF($workbook);
    D'après ce que je comprend, il y a un problème au niveau de la classe PDF.php. Voici les lignes concernées par l'erreur ci-dessus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    /**
         *  Instantiate a new renderer of the configured type within this container class
         *
         *  @param  PHPExcel   $phpExcel         PHPExcel object
         *  @throws PHPExcel_Writer_Exception    when PDF library is not configured
         */
        public function __construct(PHPExcel $phpExcel)
        {
            $pdfLibraryName = PHPExcel_Settings::getPdfRendererName();
            if (is_null($pdfLibraryName)) {
                throw new PHPExcel_Writer_Exception("PDF Rendering library has not been defined.");
            }
     
            $pdfLibraryPath = PHPExcel_Settings::getPdfRendererPath();
            if (is_null($pdfLibraryName)) {
                throw new PHPExcel_Writer_Exception("PDF Rendering library path has not been defined.");
            }
            $includePath = str_replace('\\', '/', get_include_path());
            $rendererPath = str_replace('\\', '/', $pdfLibraryPath);
            if (strpos($rendererPath, $includePath) === false) {
                set_include_path(get_include_path() . PATH_SEPARATOR . $pdfLibraryPath);
            }
     
            $rendererName = 'PHPExcel_Writer_PDF_' . $pdfLibraryName;
            $this->_renderer = new $rendererName($phpExcel);
        }
    Je tiens à préciser qu'avant d'écrire ce message, je me suis beaucoup renseigné sur le net. J'ai entre autre lu le tutoriel de MaitrePylos sur le sujet ainsi que d'autres tutoriels disponibles sur le web

    D'avance merci pour votre aide.

    Amicalement,

    Gub

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as un exemple dans ... les fichiers d'exemples fournis avec : 21pdf.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [UML]Diagrammes de classes avec Eclipse
    Par oursblanc dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 15/09/2005, 09h08
  2. Réponses: 5
    Dernier message: 26/05/2005, 15h40
  3. Heritage de classe avec classes internes
    Par Regis.C dans le forum Langage
    Réponses: 11
    Dernier message: 27/04/2005, 12h19
  4. probleme compilation classe avec Borland c++ compiler 5.5
    Par softblue dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 17/06/2004, 15h16
  5. Objets/Classes avec un SGBD
    Par tiboleo dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 09/11/2003, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo