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

Python Discussion :

Transformation vers pdf, demande d'avis


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 48
    Points : 105
    Points
    105
    Par défaut Transformation vers pdf, demande d'avis
    Bonjour.

    J'aurais voulu avoir un avis externe.
    J'ai besoin de transformer des données en pdf. Ces données sont d'origine en xml, et transformée d'un coté en xhtml et de l'autre en html5, en utilisant les css pour le style. Les structures (x)html sont propre et simple (c'est un détail qui a son importance, parce que j'ai quasiment toujours vu des structures immonde en html, complexe pour rien), la complexité est surtout déportée dans les css. Ces transformations se font via XSLT.

    Maintenant, je souhaite transformer ces données en pdf. J'ai vu qu'il y a xsl-fo (ça correspondrait au flux de travail que j'utilise, comme vous pouvez le constater, on reste dans le monde du xml/sgml), mais je ne parviens pas à trouver une bibliothèque python pour le rendu.

    Alors, à votre avis, quel est le meilleur moyen de passer de ces données xml vers du pdf ?
    - xml -> xsl-fo -> pdf
    - html5+css -> pdf
    - xhtml+css -> pdf

    Les contraintes sont que le rendu est différent suivant la sortie. À vrai dire, j'aurais préféré utiliser la première solution xml -> xsl-fo -> pdf, car cela m'aurait permis de contrôler finement et depuis le départ la transformation. Mais une autre contrainte, évoqué plus haut, est qu'il n'y pas de moteur FO en python, et c'est plutôt gênant.
    Si je dois passer par le xhtml+css (c'est la structure la plus simple), est-ce que les rendus pdf seront comme indiqué dans le css ? Y a quoi comme bonne bibliothèque python pour ça ?

    Et dernière question, y a-t-il une bonne bibliothèque C pour le xsl-fo ? Parce que je pourrais éventuellement réaliser un binding C->Python, avec un peu de temps et de courage.

    En espérant avoir été clair.

    Edit : question sans aucun rapport, mais qui peut m'aider. Comment faites-vous vos recherches google pour le langage c ? C'est franchement chiant, parce qu'avec le mot clé "C", il me sort à chaque fois soit des trucs qui n'ont rien à voir, soit qui concerne C#.

  2. #2
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    418
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 418
    Points : 828
    Points
    828
    Par défaut
    Pour ta première question, je ne sais pas. D'ailleurs, je suis également intéressé.
    J'avais fait du pdf avec reportlab mais c'est plus lourd...
    J'ai trouvé ça :
    http://stackoverflow.com/questions/5...sl-fo-w-python
    et ça :
    https://lists.oasis-open.org/archive.../msg00055.html

    Pour l'edit, j'utiliserais "langage C".
    Ca virera sans doute des liens utiles mais ceux qui resterons ne seront pas trop pollués...

  3. #3
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Bonjour,

    Reportlab est certes un peu plus lourd, mais est quand même relativement rependu. Cela est une garantie pour trouver de l'aide. De plus, il assure une excellente maitrise du rendu de sortie.

    Toutefois si cette solution est totalement écartée, il existerai à mes yeux également la possibilité de passer par une macro Libre Office, ce dernier étant capable de générer des PDF en natif. La macro n'aurait alors plus qu'à convertir le XML en document ODF, puis à demander sa génération en PDF.
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  4. #4
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    LaTeX peut-être ?
    Pas d'aide par mp.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2010
    Messages : 58
    Points : 93
    Points
    93
    Par défaut
    Salut,

    Dans un cas similaire j'ai été amené à utiliser wkhtmltopdf
    Le rendu entre le html et le pdf généré est vraiment le même.

    Dans les soucis qu'on a eu avec cette solution je noterais le fait que les tableaux sont coupés brutalement s'ils sont entre 2 pages

Discussions similaires

  1. transformer Html vers pdf
    Par medhan dans le forum Langage
    Réponses: 0
    Dernier message: 08/06/2014, 11h19
  2. [CR][ASP.NET][C#] Export vers PDF
    Par kaoutara dans le forum SDK
    Réponses: 2
    Dernier message: 20/10/2004, 11h33
  3. [C#] Exportation de Report Crystal Reports vers PDF
    Par Frédérick dans le forum SDK
    Réponses: 2
    Dernier message: 18/08/2004, 10h46

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