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

Bibliothèques et frameworks PHP Discussion :

Existe-t-il une bibliothèque plus récente que FPDF ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 93
    Points : 95
    Points
    95
    Par défaut Existe-t-il une bibliothèque plus récente que FPDF ?
    Bonjour,

    Pour produire des PDF dynamiques en PHP, j'utilise toujours la librairie FPDF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    /*******************************************************************************
    * FPDF                                                                         *
    *                                                                              *
    * Version : 1.6                                                                *
    * Date :    2008-08-03                                                         *
    * Auteur :  Olivier PLATHEY                                                    *
    *******************************************************************************/
    Qui n'est pas des plus récentes...

    Je viens de la déployer, sur mon VPS chez OVH, et obtiens une erreur cannot call constructor
    En effet, dans chaque PDF dynamique, je dois créer une classe, qui hérite de FPDF
    Dont le constructeur appelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      public function __construct($pTitre, $pBordure)
      {
       parent::__construct('P'); // Ca bogue ici
       $this->titre = $pTitre;
       $this->bordure = $pBordure;
       $this->setDrawColor(192, 192, 192);
      }
    Le paramètre 'P' indique qu'on crée un PDF en orientation portrait.

    Ca a toujours bien marché avec mon PHP Version 7.0.33-0ubuntu0.16.04.16
    Mais sur mon VPS, c'est PHP Version 8.0.8

    En ouvrant ma librairie, je découvre qu'elle n'a pas de constructor, mais une fonction homonyme qui en tient lieu, comme en Java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // Constructeur improvisé
    public function __construct($orientation='P', $unit='mm', $format='A4')
    {
     $this->FPDF($orientation, $unit, $format);
    }
     
    // Constructeur initial
    function FPDF($orientation='P', $unit='mm', $format='A4')
    {
    	//Some checks
    	$this->_dochecks();
    ...
    }
    J'improvise donc un constructeur, qui résout le problème, mais ça plante un peu plus loin.
    Alors, plutôt que de bricoler une vieille librairie, pour la faire avaler à PHP 8, je me demande si je ne ferais pas mieux d'en installer une plus récente.
    Qui, de surcroît, pourrait aussi permettre de dessiner des graphiques, schémas SVG, importer des images.
    Ce que je n'ai jamais su faire en PHP sur un PDF avec FPDF
    Jusqu'à présent, je ne peux y produire que du texte et des tableaux de chiffres, dans des $lePdf->Cell(...).

    Quelqu'un pourrait-il me dire quelle est, actuellement, la meilleure librairie PHP permettant de produire dynamiquement des PDF ?

    Merci,
    Christian.
    ------------------------

    Voilà, j'ai résolu le problème.
    Le constructeur improvisé révèle un autre bug, plus loin, à la ligne 1567
    dans la fonction putimages(), each() n'est plus supporté par PHP 8.0
    Il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	//while(list($file,$info)=each($this->images))
    	foreach($this->images as $file=>$info)
    Et ça marche !
    PHP 8.0 accepte maintenant ma librairie FPDF.
    Les PDF sortent normalement sur mon VPS en PHP 8.0 avec la librairie FPDF
    Mais je voudrais tout de même trouver quelque chose de plus récent.
    Merci.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    dans mes projets, j'utilise la classe suivante qui gère l'UTF-8 par défaut :
    http://fpdf.org/fr/script/script92.php
    ensuite il y a aussi des versions récentes de FPDF qui font des petites corrections :
    http://fpdf.org/fr/download.php

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 93
    Points : 95
    Points
    95
    Par défaut Merci Mathieu
    Merci Mathieu, je l'ai téléchargée, je vais l'installer et l'essayer.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    FPDF est vieillissant mais toujours maintenu (dernière version de aout 2021).
    TCPDF est plus dynamique , avec notamment une récriture en cours
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/09/2010, 23h32
  2. Réponses: 1
    Dernier message: 29/07/2010, 12h11
  3. Réponses: 1
    Dernier message: 29/07/2010, 12h11
  4. [JFrame] Création d'une fenetre plus grande que l'ecran
    Par thetoctoc dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 23/09/2004, 11h05
  5. [Tomcat] migration vers une version plus récente
    Par butcher dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 31/10/2003, 21h46

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