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

Développement Web avec .NET Discussion :

Editique : Solution pour génération de PDF à partir de templates docx


Sujet :

Développement Web avec .NET

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2017
    Messages : 13
    Par défaut Editique : Solution pour génération de PDF à partir de templates docx
    Bonjour,

    Après de nombreuses recherches sur le web, je n'arrive pas à trouver de solution pour un outil que je dois développer dans le cadre professionnel.

    Je recherche une solution pour générer des PDF à partir de template écrit en word.

    Dans l'idée : un utilisateur "non informaticien" crée un document word avec des variables (exemple : @NomClient, @PrenomClient), puis le programme charge le document, remplace les variables par les données de la BDD et génère un PDF.

    J'ai donc isolé 2 problèmes :
    1 - Comment créer des templates avec word ==> variables mais aussi conditions (if else) et boucles sur tableaux
    2 - Comment générer un PDF à partir d'un fichier word

    J'ai cherché sur le web mais je ne trouve pas grand-chose, pourtant ce problème d'éditique doit être très fréquent non ?
    J'avais déjà mis en place une solution avec des templates HTML et un programme pour convertir (style htmldoc ou wkhtmltopdf) mais la je cherche une solution pour déporter la création des modèles à un "non-informaticien" (et pour faciliter la création).
    J'ai également cherché coté LibreOffice, mais le point le plus bloquant concerne la boucle.

    Comment faites-vous dans votre entreprise / logiciel ?
    Quelles sont les bonnes pratiques ?

    Par avance merci,

    PS : Je suis ouvert à toutes technologies : prioritairement .NET, mais également scripts à appeler (PHP), logiciels (style wkhtmltopdf), etc...

  2. #2
    Membre chevronné Avatar de Julien698
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2013
    Messages
    237
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2013
    Messages : 237
    Par défaut
    Salut,

    Tu peux utiliser Debenu QuickPDF ! C'est une dll que tu intègres à ton projet qui te permet de quasiment tout faire sur les fichiers PDF : génération de documents, modifications, signatures, extraction du texte, etc...

    http://www.debenu.com/

    Pour te faire une idée des entreprises qui l'utilisent : http://www.debenu.com/about/customers/

    La doc est complète et te montre avec un exemple comment utiliser toutes les fonctionnalités.

    Par contre c'est une solution payante...

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2017
    Messages : 13
    Par défaut
    Salut,

    Merci pour cette solution. J'essaie tout de même de trouver une autre alternative (peut être un peu moins chère )

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    Citation Envoyé par MinceNico Voir le message
    Bonjour,

    Je recherche une solution pour générer des PDF à partir de template écrit en word.

    Dans l'idée : un utilisateur "non informaticien" crée un document word avec des variables (exemple : @NomClient, @PrenomClient), puis le programme charge le document, remplace les variables par les données de la BDD et génère un PDF.

    J'ai donc isolé 2 problèmes :
    1 - Comment créer des templates avec word ==> variables mais aussi conditions (if else) et boucles sur tableaux
    À partir de Visual Studio, il existe quelques façons de créer des documents Word, encore que cela dépende de la version de Word.

    Pour Word 2003 et avant:

    La seule solution qui me vienne à l'esprit, c'est de passer par interop. (C'est comme en VBA, moyennant certaines adaptations des noms d'objets)

    Pour Word 2007 et suivants, pour autant que tu utilises les formats Open Xml (en gros, les extensions à quatre lettres)

    -Avec interop
    -Directement avec System.io.packaging (je n'ai jamais essayé). Et c'est valable pour toutes les applications Office.
    -Avec le SDK Open XML et sa fameuse dll DocumentIormatOpenXml (Pour Word, Excel et Powerpoint)
    -Basé sur le SDK Open XML, il y a le composant .net DocX.dll (Il a été récupéré par Xceed, mais la version gratuite est encore disponible)

    2 - Comment générer un PDF à partir d'un fichier word
    À partir de Word 2007 (avec les service packs), Word peut le faire lui-même. Sinon il y PDFCreator, une imprimante virtuelle PDF gratuite. (Et la bible de Kiki29, principalement pour Excel, mais cela vaut la peine d'y jeter um oeil)


    Ceci étant dit, et ne connaissant pas le(s) document(s) en question, tout utilisateur capable de créer un publipostage dans Word peut probablement s'en tirer tout seul directement dans Word.

    On peut aussi, par VBA, interop ou manuellement, insérer des champs de base de donnée directement dans un document Word. En supposant que ton utilisateur mettrait des signets pré-déterminés aux bons endroits de son texte, ton programme pourrait retrouver les signets et les remplacer.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2017
    Messages : 13
    Par défaut
    Bonjour,

    Merci pour vos réponses,

    Ceci étant dit, et ne connaissant pas le(s) document(s) en question, tout utilisateur capable de créer un publipostage dans Word peut probablement s'en tirer tout seul directement dans Word.
    Effectivement j'ai un peu oublié le contexte : le but est qu'une personne puisse créer des templates de factures avec des variables. Ensuite, les modèles sont uploadés dans l'outil.
    Les gestionnaires peuvent créer les factures, qui sont des documents PDF basés sur le modèle Word et avec les variables du client.

    Je vais regarder en détail du coté d'Open XML en espérant pouvoir traiter des modèles...

    Pour le moment, la seule solution c'est un modèle HTML et wkhtmltopdf, mais le problème du "une personne non-info crée des templates" reste...

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    J'avais oublié. Sans Word un instrument de production de rapports directement en PDF en partant de Visual Studio :

    PDFReport

    Également en package NuGet

    Un exemple ici

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut
    Bonjour,

    Je sais que c'est un sujet que je déterre mais il est toujours d'actualité.

    Les solutions sont rares et pourtant plus que demandées sur le marché.
    Les interop de Office étant inutilisables en web par les contraintes imposées.

    Je m'étais alors tourné vers la solution DOCATI mais cette dernière n'est pas tout à fait maintenu, et même si elle est très fonctionnelle (injection de json dans un template word pour générer du pdf ensuite), elle est plutôt lente. (~9 sec pour générer un pdf avec 2 images base 64)


    Je ne suis pas contre payer selon le tarif (j'ai vu des solutions juste pour word to pdf à 20k$ l'année)

    Notre objectif est de pouvoir donner la main au métier pour qu'ils puissent créer les templates Word afin d'éviter de devoir coder du C# à chaque fois qu'on doit modifier une virgule dans un texte.

Discussions similaires

  1. Ajouter une police pour génération en pdf
    Par LesLemmings dans le forum iReport
    Réponses: 1
    Dernier message: 05/08/2009, 12h26
  2. Génération de pdf à partir d'une bdd
    Par glesker dans le forum Autres langages pour le Web
    Réponses: 1
    Dernier message: 27/10/2008, 21h08
  3. [BIRT] génération de PDF à partir d'un XML
    Par Izarn dans le forum BIRT
    Réponses: 1
    Dernier message: 11/07/2008, 07h54
  4. [ezPDF] Quelle solution pour générer du PDF ?
    Par guidav dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 08/09/2006, 11h20
  5. [PDF] génération de pdf à partir de . . . rien?
    Par bakonu dans le forum Documents
    Réponses: 4
    Dernier message: 19/06/2006, 13h09

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