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

Langage PHP Discussion :

Générer PDF à partir d'un modèle Excel


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut Générer PDF à partir d'un modèle Excel
    Bonjour à tous,

    J'ai un fichier Excel qui me sert de modèle pour lister des produits à livrer pour un client (en gros, c'est un bon de livraison). J'ai plus de 200 clients à livrer chaque mois, et chaque livraison peut comporter jusqu'à 40 types de produit différents... Bien évidemment, je n'ai pas envie de perdre mon temps à remplir des fichiers Excel et à imprimer chaque "bon de livraison".

    Ce que j'avais l'idée de faire (sans trop savoir comment, pour l'instant) est:
    - Remplir le fichier modèle Excel (qui contient uniquement la présentation, sans données) avec les données du client n°1 (que j'ai dans ma BDD)
    - Créer un fichier PDF, y insérer le tableau Excel du client n°1
    - Ensuite, remplir à nouveau le fichier modèle Excel avec les données du client n°2
    - Insérer une nouvelle page dans le fichier PDF avec le tableau du client n°2
    Et ainsi de suite... De cette manière, j'obtiendrai un fichier PDF prêt à imprimer avec plus de 200 "bons de commande".

    La logique est bonne? Ou y a-t-il une meilleure façon de faire?
    Et quels outils (libraries, ...) me seront nécessaires?

    Merci d'avance

    Thomas

  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
    Par défaut
    L'étape Excel ne sert à rien : si ton but est de produire un PDF, commence tout de suite par un PDF.

    Tu peux utiliser FPDF pour cela.
    Ton script PDF dessinera à la fois les parties fixes et les parties variables.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut
    Merci pour ta réponse, Sabotage.

    Citation Envoyé par sabotage Voir le message
    L'étape Excel ne sert à rien : si ton but est de produire un PDF, commence tout de suite par un PDF.
    Oui, j'ai pensé à cela aussi mais l'Excel me permettait d'avoir un modèle. Ainsi, si l'un de mes "collègues" souhaite apporter un petit changement il le pouvait.

    Citation Envoyé par sabotage Voir le message
    Tu peux utiliser FPDF pour cela.
    Ton script PDF dessinera à la fois les parties fixes et les parties variables.
    J'avais déjà utilisé FPDF il y a quelques années et je me souviens avoir eu un peu de mal pour faire quelque chose de simple alors là, comme j'ai besoin de réaliser un "bon de livraison" un peu complexe, ça me fait un peu peur...
    Je vais lire la documentation de FPDF, peut-être que la bibliothèque a évolué et est plus simple d'utilisation.

  4. #4
    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
    Par défaut
    Je te rassure fpdf n'a pas évolué et effectivement le placement des objet par coordonnés est un peu délicate.

    A ce moment tu peux utiliser PHPExcel. Il permet l'export en PDF.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 61
    Par défaut
    Le choix de PHPExcel me parait assez judicieux. J'y pensais car PHPExcel semble extrêmement simple et puissant.

    De plus, j'ai fait quelques tests avec excel. Je peux créer sans problème le nombre de feuillets que j'ai besoin (entre 200 et 300 max alors qu'il n'y a pas de limite, seulement la mémoire). Et lorsque je souhaite enregistrer en PDF, je peux sélectionner tous les feuillets et chaque feuillet représente une page du document PDF (ce qui est parfait).

    Ainsi, je peux générer le document Excel grâce à PHPExcel en créant un feuillet par "commande". Ensuite, si PHPExcel le permet, je dois modifier les propriétés de mise en page et générer le PDF. Si PHPExcel ne le permet pas, je ferai une macro VB pour modifier la mise en page de chaque feuillet et j'enregistrerai le PDF manuellement... ça me fera perdre 5 minutes chaque mois mais je fais gagner des heures (voire des jours) à remplir les bons de commande.

    En tout cas, merci pour tes conseils Sabotage.
    Je vais commencer le dev cet après-midi. Si je rencontre des ponts intéressants, je posterai.

Discussions similaires

  1. Générer des document pdf à partir d'un modèle.
    Par saninx dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 09/07/2015, 12h07
  2. [FPDF] Générer un document PDF à partir d'un modèle en Word
    Par boumacmilan dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 08/07/2010, 15h49
  3. générer PDF à partir d'une page web
    Par kroukse dans le forum C#
    Réponses: 16
    Dernier message: 12/09/2007, 11h55
  4. Générer pdf à partir de forms
    Par bcung dans le forum Forms
    Réponses: 7
    Dernier message: 10/08/2007, 15h22

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