Question

Je souhaite pouvoir générer un fichier PDF hautement graphique (contenant également beaucoup de texte) à partir de données que je pourrais avoir dans une base de données, un fichier XML ou tout autre formulaire structuré.

Actuellement, notre concepteur graphique crée ces fichiers PDF dans Photoshop manuellement après avoir obtenu le contenu sous forme de document MS Word. Mais généralement, il y a plus de 20 révisions du contenu; petits changements ici et là, corrections orthographiques, etc.

Les 2 inconvénients sont: 1) Le temps du graphiste est inutilement occupé. La première version est la seule sur laquelle il devrait travailler. 2) Le fichier PDF devient le document qui contient maintenant le contenu final révisé et le contenu initial n'est pas synchronisé avec ce dernier. Donc, si le contenu initial doit se trouver ailleurs (comme sur un site Web), nous devons le recréer à partir du fichier PDF.

La génération du fichier PDF m'aidera à résoudre ces deux problèmes. Peut-être le graphiste crée-t-il un "Modèle"? puis met en balises / supports et mappe ces balises / supports aux données pertinentes.

Merci: -)

Était-ce utile?

La solution

Il existe certains outils pour le faire. XSL-FO est utile. Voici un tutoriel pour la création d'un fichier pdf à partir de xml (ou xhtml) avec un cocon. Voir également Apache FOP .

Vous pouvez formater vos données SQL au format XML tout en utilisant les mêmes modèles de cette manière.

Autres conseils

J'utilise la bibliothèque python ReportLab pour cela. Cela pourrait peut-être résoudre votre problème, mais vous devrez travailler un peu ...

Dans le passé, j’ai écrit des scripts qui crachaient LaTeX, puis utilisé texi2pdf pour résoudre ce genre de problème.

Consultez iReport et JasperReports à l'adresse http://jasperforge.org . iReport vous permet de concevoir des rapports. Vous pouvez ensuite le remplir par programme avec la bibliothèque JasperReports (Java) ou simplement utiliser iReport pour créer le rapport manuellement.

Je ne l'ai utilisé que pour les données tabulaires, mais je ne pense pas qu'il y aurait de problème pour les autres types de documents.

Vous pouvez créer un formulaire et remplir les entrées par programme à l'aide d'une bibliothèque pdf telle que iText (Java).

Vous pouvez envisager de créer le flux de travail dans PostScript, qui est un texte brut que vous pouvez facilement composer à partir de fragments. Ensuite, vous pouvez utiliser un outil gratuit pour convertir les fichiers au format PDF.

Consultez Prince XML . Cet outil permet de générer des PDF basés sur XML ou HTML et CSS.

Une solution possible consiste à utiliser un moteur de modèle, tel que FreeMarker ou StringTemplate: ils sont souvent utilisés pour générer du code HTML, mais ils sont suffisamment souples pour générer tout format, en réalité.
Le problème est de créer un modèle PDF, je suppose. Vous pouvez peut-être prendre un exemple de sortie et le modifier pour remplacer les données par des espaces réservés à remplir par le moteur de modèle. Pourrait ne pas être trivial!

Cela ressemble à un travail que SQL Server Reporting Services peut gérer assez facilement.
Reporting Services vous permet d'interroger les données, de définir la mise en page et d'exporter au format PDF sans aucune intervention. La sortie PDF peut être distribuée par courrier électronique, stockée sur un partage de fichiers et accessible via une page du serveur de rapports.
Il peut également gérer les sources de données XML.

Une autre approche pour générer un fichier PDF à partir de données consiste à utiliser crevette , basée sur ruby ??. J'ai été très agréablement surpris par le nombre de fonctionnalités incluses dans les crevettes. Cela peut prendre un investissement initial, mais cette approche vous donnera beaucoup de flexibilité.

Vous pouvez combiner CSStoXSLFO avec XEP de RenderX pour une sortie de haute qualité. Avec cette solution, vous pouvez fusionner des données XML dans un modèle XHTML, qui est décoré avec CSS. Il peut également générer des graphiques avec la fantastique bibliothèque JFreeChart. Les fonctionnalités de média de page CSS3 sont prises en charge.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top