Génération de PDF

Le
Cen Ten PEI
Bonjour,

Je souhaite créer des documents PDF.
J'aimerais profiter de votre expérience pour ce besoin sans doute assez
commun ?

Connaissez-vous d'autres librairies que ReportLab ? (
http://www.reportlab.org/ )

S'agissant de cette librairie, savez-vous s'il est aisé de créer des
tableaux, sachant que :
- une cellule pourra contenir une image
- une cellule pourra contenir du texte et un autre (petit) tableau

Egalement, le tableau pourra contenir un nombre de lignes tel qu'il ne
tiendra pas sur une page. Qu'en est-il :
- des entêtes des colonnes : est-ce que cette notion existe ?
- de l'éventuelle "ajout automatique" de ces entêtes en cas de
changement de page
- de la "propreté" du "saut de page" : est-ce qu'une ligne ne risque pas
de se retrouver pour partie en bas de la page N, et pour le reste en haut de
la page N+1 ?

Enfin, est-il simple d'obtenir un document PDF de plusieurs pages avec:
- un entête et un pied de page ajoutés "automatiquement" à chaque page
- le numéro de la page en cours
- le nombre total de pages

Un coup d'oeil très rapide à la documentation et aux exemples de la
librairie ReportLab me rassure plutôt quant à la possibilité d'obtenir ce
que je veux ! Par contre, je ne suis pas certain que les objets proposés
soient de "haut niveau" et offrent une façon simple de parvenir au résultat
souhaité

Bref, tout retour d'expérience bienvenu :-)
Tout bout de code aussi :-) Avec la librairie ReportLab, ou toute autre
librairie !

D'avance MERCI pour votre aide !

PS: Python en version 2.5
PS2 : Doit impérativement fonctionner sous Windows, mais l'idéal serait
d'être indépendant de l'OS
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
William Dode
Le #616979
On 24-05-2007, Cen Ten PEI wrote:
Bonjour,

Je souhaite créer des documents PDF.
J'aimerais profiter de votre expérience pour ce besoin sans doute assez
commun ?

Connaissez-vous d'autres librairies que ReportLab ? (
http://www.reportlab.org/ )

S'agissant de cette librairie, savez-vous s'il est aisé de créer des
tableaux, sachant que :
- une cellule pourra contenir une image


ok

- une cellule pourra contenir du texte et un autre (petit) tableau


ok je pense, mais pas essayé


Egalement, le tableau pourra contenir un nombre de lignes tel qu'il ne
tiendra pas sur une page. Qu'en est-il :
- des entêtes des colonnes : est-ce que cette notion existe ?


oui, le nombre de lignes d'entête de colonne à répéter automatiquement
sur chaque page est paramétrable

- de l'éventuelle "ajout automatique" de ces entêtes en cas de
changement de page
- de la "propreté" du "saut de page" : est-ce qu'une ligne ne risque pas
de se retrouver pour partie en bas de la page N, et pour le reste en haut de
la page N+1 ?


je ne pense pas, pas essayé


Enfin, est-il simple d'obtenir un document PDF de plusieurs pages avec:
- un entête et un pied de page ajoutés "automatiquement" à chaque page


oui

- le numéro de la page en cours


oui

- le nombre total de pages


un poil plus compliqué mais faisable


Un coup d'oeil très rapide à la documentation et aux exemples de la
librairie ReportLab me rassure plutôt quant à la possibilité d'obtenir ce
que je veux ! Par contre, je ne suis pas certain que les objets proposés
soient de "haut niveau" et offrent une façon simple de parvenir au résultat
souhaité...


Il faut s'y habituer effectivement, mais en cherchant bien tout est
possible avec reportlab...


Bref, tout retour d'expérience bienvenu :-)
Tout bout de code aussi :-) Avec la librairie ReportLab, ou toute autre
librairie !


Y a plusieurs façon d'envisager les choses avec reportlab (plus ou moins
haut niveau), ça va donc dépendre de ce que tu veux faire exactement...


D'avance MERCI pour votre aide !

PS: Python en version 2.5


a voir s'il y a une version compilée pour la 2.5, sûrement...

PS2 : Doit impérativement fonctionner sous Windows, mais l'idéal serait
d'être indépendant de l'OS


pas de problème

--
William Dodé - http://flibuste.net
Développeur informatique indépendant

Cen Ten PEI
Le #616978
Merci pour ces informations. Quelques questions supplémentaires, si vous
n'y voyez pas d'inconvénient ;-)

- de l'éventuelle "ajout automatique" de ces entêtes en cas de
changement de page
- de la "propreté" du "saut de page" : est-ce qu'une ligne ne risque
pas
de se retrouver pour partie en bas de la page N, et pour le reste en haut
de
la page N+1 ?


je ne pense pas, pas essayé


Aïe ! Je suppose que vos tableaux, parfois, s'étendent sur plusieurs pages ?
Comment faites vous ? Avant d'ajouter une ligne, calculez-vous la "hauteur"
qu'elle devrait occuper ?
A partir de là, et tout en connaissant la "position courante" dans la page,
réalisez-vous au préalable un saut de page si c'est necessaire ?
Ce genre de chose devrait permettre d'aboutir au résultat, mais c'est un
poil lourd, compliqué et "bas niveau", non ?
N'y aurait-il pas plus simple ?
Une idée ?

Enfin, est-il simple d'obtenir un document PDF de plusieurs pages avec:
- un entête et un pied de page ajoutés "automatiquement" à chaque
page


oui

- le numéro de la page en cours


oui

- le nombre total de pages


un poil plus compliqué mais faisable



Auriez-vous un petit bout de code qui fait cela ?
A défaut une courte description de votre façon de procéder pour arriver à ce
résultat ?

Encore merci.


Philippe Makowski
Le #616976
Merci pour ces informations. Quelques questions supplémentaires, si vous n'y
voyez pas d'inconvénient ;-)

- de l'éventuelle "ajout automatique" de ces entêtes en cas de
changement de page
- de la "propreté" du "saut de page" : est-ce qu'une ligne ne risque
pas
de se retrouver pour partie en bas de la page N, et pour le reste en haut
de
la page N+1 ?


je ne pense pas, pas essayé


Aïe ! Je suppose que vos tableaux, parfois, s'étendent sur plusieurs pages ?
Comment faites vous ? Avant d'ajouter une ligne, calculez-vous la "hauteur"
qu'elle devrait occuper ?
A partir de là, et tout en connaissant la "position courante" dans la page,
réalisez-vous au préalable un saut de page si c'est necessaire ?
Ce genre de chose devrait permettre d'aboutir au résultat, mais c'est un poil
lourd, compliqué et "bas niveau", non ?
N'y aurait-il pas plus simple ?
Une idée ?
c'est géré par reportlab

il y a une option pour cela


Enfin, est-il simple d'obtenir un document PDF de plusieurs pages avec:
- un entête et un pied de page ajoutés "automatiquement" à chaque page


oui

- le numéro de la page en cours


oui

- le nombre total de pages


un poil plus compliqué mais faisable



Auriez-vous un petit bout de code qui fait cela ?
A défaut une courte description de votre façon de procéder pour arriver à ce
résultat ?

la doc de reportlab est très complète et pleine d'exemples

la liste de discussion très réactive

--
Philippe Makowski
Support et conseil pour Firebird : http://www.espelida.com
Firebird serveur SQL open-source en français http://firebird-fr.eu.org
Ma clé PGP : http://makowski.eu.org/pgpkey.html



Franck Pommereau
Le #616975
Je souhaite créer des documents PDF.
J'aimerais profiter de votre expérience pour ce besoin sans doute assez
commun ?

Connaissez-vous d'autres librairies que ReportLab ? (
http://www.reportlab.org/ )


Dans ce cas, je génère un document LaTeX que je compile avec pdflatex
qui est disponible pour les systèmes les plus courants.

Cordialement,
Franck Pommereau

MC
Le #616974
'soir!

a voir s'il y a une version compilée pour la 2.5, sûrement...


Je confirme : ça existe.





--
@-salutations

Michel Claveau

hg
Le #616973
Cen Ten PEI wrote:

Bonjour,

Je souhaite créer des documents PDF.
J'aimerais profiter de votre expérience pour ce besoin sans doute assez
commun ?

Connaissez-vous d'autres librairies que ReportLab ? (
http://www.reportlab.org/ )

S'agissant de cette librairie, savez-vous s'il est aisé de créer des
tableaux, sachant que :
- une cellule pourra contenir une image
- une cellule pourra contenir du texte et un autre (petit) tableau

Egalement, le tableau pourra contenir un nombre de lignes tel qu'il ne
tiendra pas sur une page. Qu'en est-il :
- des entêtes des colonnes : est-ce que cette notion existe ?
- de l'éventuelle "ajout automatique" de ces entêtes en cas de
changement de page
- de la "propreté" du "saut de page" : est-ce qu'une ligne ne risque
pas
de se retrouver pour partie en bas de la page N, et pour le reste en haut
de la page N+1 ?

Enfin, est-il simple d'obtenir un document PDF de plusieurs pages avec:
- un entête et un pied de page ajoutés "automatiquement" à chaque page
- le numéro de la page en cours
- le nombre total de pages

Un coup d'oeil très rapide à la documentation et aux exemples de la
librairie ReportLab me rassure plutôt quant à la possibilité d'obtenir ce
que je veux ! Par contre, je ne suis pas certain que les objets proposés
soient de "haut niveau" et offrent une façon simple de parvenir au
résultat souhaité...

Bref, tout retour d'expérience bienvenu :-)
Tout bout de code aussi :-) Avec la librairie ReportLab, ou toute autre
librairie !

D'avance MERCI pour votre aide !

PS: Python en version 2.5
PS2 : Doit impérativement fonctionner sous Windows, mais l'idéal serait
d'être indépendant de l'OS



Tu devrait regarder ceci (si ce n'est déjà fait):
http://udk.openoffice.org/python/python-bridge.html


hg

MC
Le #616737
'jour

Pas vraiement une réponse à la question ; mais cette purement
pythoniesque librairie contient quelques méthpde intéressantes :

http://pybrary.net/pyPdf/

--
@-salutations

Michel Claveau
olive
Le #616736
Bonjour,

faire des documents PDF à l'aide de OpenOffice en passant par ODF et
en utilisant une lib xml (ET ou mieux encore lxml) ou XSLT a été un
pur régal.

Pour l'automatisation de l'ouverture et de l'export PDF du document tu
peux soit utiliser le moteur python intégré à OO (mais il est en
version 2.3 max sous windows), soit utiliser pyWin32 en passant par
COM.

Pour ma part, Java étant un point de passage obligé dans ma boîte,
j'ai utilisé Jython, Dom4J et l'API Java de OO...
... et le plaisir de coder en Python n'a pas été gâché car Dom4J se
révèle être très pythonique sous Jython.

Olive.
Publicité
Poster une réponse
Anonyme