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

ASP.NET Discussion :

[C#]Comment générer des documents à partir d'un Template ?


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 56
    Points : 38
    Points
    38
    Par défaut [C#]Comment générer des documents à partir d'un Template ?
    Bonjour à tous,

    J'essaye depuis quelques jours de trouver un processus rapide afin de créer des documents ( .doc pour le moment ) à partir d'un template ( .doc pour le moment ). Ce template possède des champs qui sont modifiés par mon processus sur le serveur. Il en resulte donc mon fichier word avec les champs corrects.

    Est ce que quelqu'un aurait une idée afin de ne pas devoir utiliser un éxécutable situé sur le serveur afin de créer ce document et de faire un merge avec les informations à modifier dans le template?
    Ce serait certainement plus rapide si tout pouvait se faire sur la page .aspx mais je ne vois pas le moyen d'ouvrir un document situé sur le serveur et de le modifier pour ensuite le sauver.

    d'avance merci,

    Joël

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    En passant par Crystal Report peut être :
    voir Faq/Tuto à ce sujet
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    En theorie tu peux faire ça en automation word, c'est à dire en pilotant word depuis ta page sur le serveur afin de faire de la fusion de champs. Il est fortement déconseillé par microsoft de faire de l'automation office sur un serveur, en particulier par ce qu'office peut a tout moment ouvrir une fenetre demandant l'action de l'utilisateur (à cause de cette merveilleuse chose qu'est la "fonctionalité" install on demand" d'office").
    Par contre tu peux trouver des composants qui feront sensiblement la meme chose, mais qui sont payants (office aussi est payant ) : regarde du coté de sftartisans et de aspose.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    En fait, je viens de me rendre compte que ce sera plus facile en utilisant des document *.rtf qui peuvent être lu en tant que fichier texte. Le fait que ce soit un fichier *.doc oblige l'ouverture de Word qui est je pense ce qui prend le plus de temps.
    Mais je ne vois pas comment merger mes champs (champs de la forme [[champ]] situé dans mon template) à partir de ma page ASPX afin de créer un nouveau document. Il faudrait que je puisse lire le fichier *.rtf et faire un replace facilement et tout cela en essayant que cela soit le plus rapide possible.

    D'avance merci,

  5. #5
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut Re: [C#]Comment générer des documents à partir d'un Template
    Citation Envoyé par joeln3
    mais je ne vois pas le moyen d'ouvrir un document situé sur le serveur
    Tape WSH dans autant pour moi (Windows Script Host).

    Cela permet de lancer des applications (comme Word) sur le serveur.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Merci, mais je recherche plutôt le moyen d'ouvrir mon template, de le lire et de modifier les chaines de caractères que je désire modifier et ensuite l'enregistrer sous un autre nom et tout cela à partir de ma page aspx.

    Pour le moment je vais regarder si c'est interessant de le lire ligne par ligne et de faire les modifications lignes par lignes.

  7. #7
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par joeln3
    Mais je ne vois pas comment merger mes champs (champs de la forme [[champ]] situé dans mon template) à partir de ma page ASPX afin de créer un nouveau document.
    XML?
    "Winter is coming" (ma nouvelle page d'accueil)

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Non plus car mes template doivent être modifiable par mes clients (qui ne sont absolument pas informaticiens) et donc ils doivent être présentés dans un format facilement lisible.

  9. #9
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Evidement, on ne présente jamais un XML sans un XSL (qui s'occupe de la mise en page)
    Je crois aussi qu'un .DOC peut se connecter à un XML pour merger des données.
    "Winter is coming" (ma nouvelle page d'accueil)

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Voilà le plus simple et le plus rapide est d'utiliser StreamReader et StreamWriter avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    StreamReader sr = new StreamReader(name + ".rtf");
    StreamWriter sw = new StreamWriter(sDocName);
    string line;
    line = sr.ReadToEnd();
    et d'ensuite modifier le string line avec la fonction replace pour modifier les champs à modifier. Comme cela je peux créer un fichier *.doc (ce qu'il fallait absolument que je fasse)

    Et voilà,

    edité par neguib pour svp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/10/2010, 09h04
  2. comment générer des VPS à partir de mon serveur?
    Par ferdaws dans le forum Hébergement
    Réponses: 0
    Dernier message: 28/03/2010, 22h16
  3. Réponses: 3
    Dernier message: 22/04/2009, 14h02
  4. [XPATH] [DOM4J] Comment générer un xPath à partir d'un élément d'un document XML
    Par Hoegaarden dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 23/10/2008, 15h02
  5. Comment générer des interfaces garphiques à partir de XML
    Par @yoyo dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 31/03/2006, 10h40

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