Générer des documents en automatique

Fermé
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 6 déc. 2006 à 15:40
 slooptoo - 9 janv. 2007 à 16:19
Hello !

Je suis à la recherche d'un moyen de générer en automatique des documents (contenant titres, sections, tableaux, images, table des matières, liens...).
L'idéal serait de pouvoir générer plusieurs formats en sortie (PDF, PS, et éventuellement Word, RTF, HTML...)

J'ai déjà testé différentes options:

- Microsoft Word (piloté par COM): Nécessite Word installé, et très lent.
- OpenOffice: L'accès aux objets OpenOffice par un programme externe est complètement merdique (UNO Bridge).
- Je me vois mal générer directement de l'ODF (La spec d'OpenDocument fait 700 pages).
- RTF: Horriblement mal documenté, et très compliqué.
- GLE est bien et simple, mais ne génère que du PDF.
- LaTeX: ça a l'air pas mal du tout ! Et facile à générer. Mais utiliser des polices TrueType externes semble être une galère pas possible.

- Actuellement, j'en suis réduit à générer du HTML seul. C'est facile à générer et me donne un bon contrôle sur la présentation (polices, couleurs, centrage,liens...), mais quasi-impossible de gérer la mise en page (référence à des numéros de page, etc.)


Bref... aucune solution ne me satisfait vraiment.


Est-ce que vous connaissez des librairies, API ou langages de markup pour générer des documents ?


J'ai trouvé des API comme Cairo, mais elles ne sont destinées qu'à faire du dessin vectoriel 2D, pas du formattage de document.
XSL-FO ? (ça m'a l'air bien compliqué)
Ou peut-être l'un de ceux-là ?:
https://en.wikipedia.org/wiki/List_of_document_markup_languages
https://en.wikipedia.org/wiki/Page_description_language


Je ne sais plus vers quoi me tourner.


Tous les avis sont les bienvenus.

9 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
6 déc. 2006 à 15:46
Encore un lien (histoire de ne pas le paumer):
https://en.wikipedia.org/wiki/Template_system
1
oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
6 déc. 2006 à 16:48
L'aide en ligne de soffice me crache ca:

OpenOffice.org 2.0 680m5(Build:9073)

Usage: soffice [options] [documents...]

Options:

-minimized keep startup bitmap minimized.
-invisible no startup screen, no default document and no UI.
-norestore suppress restart/restore after fatal errors.
-quickstart starts the quickstart service (only available on windows platform)
-nologo don't show startup screen.
-nolockcheck don't check for remote instances using the installation
-nodefault don't start with an empty document
-headless like invisible but no userinteraction at all.
-help/-h/-? show this message and exit.
-writer create new text document.
-calc create new spreadsheet document.
-draw create new drawing.
-impress create new presentation.
-base create new database.
-math create new formula.
-global create new global document.
-web create new HTML document.
-o open documents regardless whether they are templates or not.
-n always open documents as new files (use as template).

-display <display>
Specify X-Display to use in Unix/X11 versions.
-p <documents...>
print the specified documents on the default printer.
-pt <printer> <documents...>
print the specified documents on the specified printer.
-view <documents...>
open the specified documents in viewer-(readonly-)mode.
-show <presentation>
open the specified presentation and start it immediately
-accept=<accept-string>
Specify an UNO connect-string to create an UNO acceptor through which
other programs can connect to access the API
-unaccept=<accept-sring>
Close an acceptor that was created with -accept=<accept-string>
Use -unnaccept=all to close all open acceptors
Remaining arguments will be treated as filenames or URLs of documents to open.


J'en déduis qu'il est possible de fournir un template et un document de données genre XML, afin que le format choisi soit généré.
Ca a l'air plutot pas mal foutu... :)
1
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
6 déc. 2006 à 17:09
Concernant XSL-FO, quel moteur as-tu utilisé derrière pour convertir en PDF (et autre) ?
1
oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
7 déc. 2006 à 10:10
Ben, je crois me rappeller que c'était du FOP.
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
7 déc. 2006 à 13:32
ok merci.
1
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
13 déc. 2006 à 17:09
J'ai testé XSL-FO + Apache FOP et ça donne des résultats encourageants.
La conversion .fo vers .pdf marche bien.
(J'ai déjà des documents multipages, avec page de titre, numérotation des pages et même inclusion de graphismes SVG directement dans le document).

Dommage que la conversion en RTF plante (NullPointerException, pouark)


En tous cas merci de la suggestion, oberion.

1
juste un element moderateur c est que FOP ne 'scale' pas tres bien (mais c est un peu normal vu la puissance de la chose)
j ai ete en relation avec un projet qui utilisait Tex pour convertir du FO en pdf (justement parce que FOP avait ce petit souci) mais je ne recommande pas
par contre xsl-fo => Word n'existe pas
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659 > slooptoo
9 janv. 2007 à 09:49
FOP ne 'scale' pas tres bien

mmm... merci de l'info.
Je le supputais un peu, mais je n'ai pas vraiment d'autre choix


xsl-fo => Word n'existe pas

Avec RTF, ça devrait être acceptable, non ?
(A moins que le RTF généré par FOP passe vraiment mal dans Word ?).
Il faudra que je fasse des essais (je n'ai pas de mise en page vraiment complexe).
0
slooptoo > sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019
9 janv. 2007 à 16:19
tu as tout à fait raison pour le RTF
tout pareil mêmes reserves mais piste possible moyennant des formatages pas trop complexes
(à mon avis il faut surtout regarder des soucis d'entête/bas de page et de formatage de table d'index)
0
oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
13 déc. 2006 à 17:23
De rien.
Il est interressant de savoir que le SVG fonctionne.

Afin de gagner du temps dans le développement, j'utilisais Stylus, qui est capable de faire la "fopization". C'est un atelier XSL très complet, certes payant, mais le retour sur investissement est interressant.
1
Utilisateur anonyme
9 janv. 2007 à 14:28
Bonjour,

Moi je drive très bien Excel en VBS :

https://www.oricom.ca/404/

Je fais la même chose avec Access.

Je crois qu'avec un modèle Word ( monmodele.dot ), tu pourrais
piloter Word et enregistrer au format ( pdf, rtf, html ).

Enfin ce n'est peut-être pas parfait, mais c'est une suggestion.

L'exemple démontré sur ma page WEB à été testé dur un disque
dur contenant plus de 240,000 fichiers. Il lit les informations de chaque fichier et les transfère sous excel. Excel étant formatable
à volonté tout comme word, toutefois je maîtrise moins les objets word.

Lupin
1
oberion Messages postés 1253 Date d'inscription mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
6 déc. 2006 à 16:43
Hello,
Déja fait du XSL-FO, ce n'est pas si compliqué. Ca te force à bien maitriser le XSLT, mais c'est très puissant.
Sinon, il existe une solution avec le serveur d'open office (soffice). Je ne l'ai jamais testé mais il parait que l'on peut générer du .doc, .xls, .pdf, etc... assez simplement. Et qui plus est, c'est multi plateforme.
A voir peut etre...
0