Giter VIP home page Giter VIP logo

Comments (3)

SylDanh avatar SylDanh commented on September 6, 2024

Bonjour,
J'ai fait la même demande que vous (en 2014).
voici la réponse :

Nous avons en effet développé une application de génération automatique de pdf utilisant les données disponible dans Lodel. Mais cette application n'est pas diffusée librement comme Lodel.
Il existe plusieurs application permettant la génération de pdf. Par exemple FOP http://xmlgraphics.apache.org/fop/ qui s'appuie sur XSL-FO
D'autres application permettent la conversion de html css en pdf comme weasyprint http://weasyprint.org/ ou wkhtmltopdf http://wkhtmltopdf.org/
Aucune de ces solutions n'est parfaite car chacune supporte un certains nombre de possibilités (entête/pied de page, gestion des veuves et orphelines, colonnes...) mais jamais toutes. Attention, ces applications peuvent être assez gourmandes en ressources serveur. Il faut à mon avis impérativement prévoir un système de cache des pdf générés.

from lodel.

jfriviere avatar jfriviere commented on September 6, 2024

Bonjour,

En effet, OpenEdition a mis en place un système de génération de pdf en 2013. C'est une application développée en interne que nous ne prévoyons pas de diffuser publiquement, mais je peux vous décrire le principe :

L'application permet la génération de PDF et d'ePub (ePub 2).
Pour les PDF, si l'éditeur a déposé une version PDF de son article, il est utilisé.
Un système de templating (fait en PHP, mais qui pourrait être fait en Lodelscript) produit des versions html des documents.
Ces versions html sont utillisées pour produire des ePub et, lorsque le PDF n'a pas été déposé par l'editeur, pour générer des PDF.
Dans tous les cas, un page de garde mentionnant des informations relatives au document publié sur OpenEdition est ajouté au PDF et à l'EPub.

Les outils utilisés :

La manipulation des PDF, en particulier des PDF fournis par les éditeurs, est parfois compliquée en raison des différentes versions, options et le manque de lisibilité du format PDF. Ca se traduit par des erreurs de traitement des PDF pour des raisons difficiles à identiifier.
Il faut aussi prévoir que la génération de PDF nécessite des ressources système non négligeables et que le temps de génération peut être long (ce qui nous a conduit à développer une application qui génère les PDF au moment de la publication, plutôt lors de la requête de téléchargement du PDF)

Je précise qu'il y a un certain nombre d'alternative à Weasyprint, notamment paged.js https://www.pagedmedia.org/paged-js/, PrinceXML https://www.princexml.com/, FOP (basé sur sur XSL-FO et que nous avons aussi utilisé avant 2013 https://xmlgraphics.apache.org/fop/index.html)

En espérant que ces élements pourront vous aider,
JF RIvière

from lodel.

ssonnet avatar ssonnet commented on September 6, 2024

Bonjour,
Merci à vous deux pour vos réponses. Je vais creuser les différentes pistes.
Cordialement.
Sylvain Sonnet

from lodel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.