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

XSL/XSLT/XPATH XML Discussion :

[XSL][PHP] Comment créer un PDF ?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 501
    Points : 144
    Points
    144
    Par défaut [XSL][PHP] Comment créer un PDF ?
    Bonjour,

    A la base, j'ai besoin de créer des fichiers PDF à partir de mon site.

    J'ai d'abord trouver en PHP des class le permettant mais la mise en page restait restreint... on ne pouvait pas avoir la présentation qu'on voulait !

    Je me suis tourné vers la conversion de fichier (x)html vers PDF et là encore des problèmes de mise en page, les fichiers PDF n'étant pas fidèles aux fichiers (x)html de départ !

    En cherchant encore, j'ai cru comprendre qu'il était possible de créer des PDF avec du XSLT/XML ou XSL-FO, quelque chose comme ca, c'est assez flou pour moi
    J'ai aussi vu FOP qui le permet mais je n'ai pas trouvé de véritables exemples pour comprendre le fonctionnement et donc j'en suis toujours au même point.


    Si quelqu'un s'y connait, et pourrait m'expliquer ce qu'il me faut exactement, m'éclaircir un peu avec ses mots à lui, ce serait cool

    MErci
    ++

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    XSL-FO est un langage XML appartenant à la spécification XSL, qui permet de décrire un document et est destiné principalement à un rendu papier (contrairement à (X)HTML, prévu pour l'écran). Généralement on n'écrit pas directement un fichier en XSL-FO, on part d'un document XML qui est transformé en XSL-FO avec XSLT, puis le fichier XSL-FO est transmis à un processeur FO (FOP, par exemple) qui effectue un rendu PDF (ou RTF, Postcript, etc.).

    Le seul processeur FO OpenSource et gratuit est FOP, de la fondation Apache, qui est écrit en Java. Il n'est pas trivial de l'utiliser en PHP, du fait que les deux plateformes sont difficilement interopérables. A ma connaissance, il n'y a que 2 méthodes pour utiliser FOP à partir de PHP :

    1. Utiliser les extensions Java de PHP
    2. Lancer le processeur FOP avec exec()

    Ces 2 solutions me semblant problématiques (module expérimental pour la première et coût du lancement de la JVM pour la seconde), j'ai personnellement retenu une troisième possibilité : déporter le processeur FOP dans Cocoon, un Framework XML, et faire communiquer PHP & Cocoon par HTTP. Ce n'est évidemment une solution possible à mettre en oeuvre que si on maîtrise son environnement réseau, pour un Intranet par exemple.

Discussions similaires

  1. Comment créer un QCM en php/mysql?
    Par megapacman dans le forum Requêtes
    Réponses: 11
    Dernier message: 16/01/2020, 15h46
  2. [FPDF] PHP et créer, écrire pdf
    Par Dargos dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 12/06/2006, 13h53
  3. Comment créer un .html en delphi.NET à partir d'un XML et XSL?
    Par Jayceblaster dans le forum Delphi .NET
    Réponses: 13
    Dernier message: 05/05/2006, 12h10
  4. Réponses: 0
    Dernier message: 24/03/2006, 08h33
  5. [Mail] Comment créer son premier page en PHP
    Par gymac dans le forum Langage
    Réponses: 3
    Dernier message: 07/09/2005, 22h15

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