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

Dotnet Discussion :

OpenXML Text splitté sur plusieurs Runs


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Par défaut OpenXML Text splitté sur plusieurs Runs
    Bonjour,

    Je suis en train d'essayer de générer des fichiers Word depuis un template, afin d'éditer le contenu.
    Pour ce faire j'ai voulu mettre en place un système de tags dans le template ("[#numrdv#]") à remplacer par la valeur souhaitée.

    Sauf que quand je parcours mes paragraphs à la recherche de mes tags, certains sont splittés sur plusieurs Run (assez aléatoirement j'ai l'impression), et du coup je n'arrive pas à remplacer mon tag par sa valeur ...


    Est-ce que quelqu'un saurai me dire pourquoi les Runs sont splittés, et comment faire pour éviter ca ?
    Oui si vous avez une meilleure méthode de remplacement, je suis preneur !


    Merci d'avance !

  2. #2
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Bonjour,

    Cela arrive souvent et tu n'as aucun contrôle la dessus, par exemple si le début de ton tag est en gras mais pas le reste cela crée deux Runs.

    L'idée est de travailler paragraphe par paragraphe, tu auras une classe pour le paragraphe, une pour le Run et une pour le Tag.

    Au début tu construis une collection de Tags, avec leurs positions (dans le paragraphe) et leur tailles.

    Ensuite tu construis la collection des Runs de la même façon que les Runs.

    Si le début et la fin de ton Tag se trouve dans le même Run tant mieux, sinon tu prend le texte du premier Run et du dernier (ainsi que les Runs qui se trouvent au milieu, tu concatènes les textes et tu appliques le premier Run à ce texte, par exemple si la première lettre de ton Tag est en gras mais pas le reste alors tout le tag sera en gras.

    En tout cas c'est comme ça que j'ai procédé pour unifier mes Tags et mettre un Run par Tag, si tu as d'autres question n'hésite pas

  3. #3
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Quelle librairie utilises-tu pour manipuler tes documents OpenXML ?
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 29
    Par défaut
    Hum c'est quand même pas très pratique à manipuler ces runs splittés, je pensais pas avoir faire une manip pour réarranger l'arbre.

    J'utilise le SDK Openxml V2 ... Pourquoi tu aurai une surcharge ou une lib qui aiderai à manipuler ?


    Merci !

  5. #5
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Pas pratique mais je pense que c'est la seule façon de faire pour identifier déjà tes tags et les uniformiser.

  6. #6
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Tes tags tu les crées comment ? C'est du texte que tu tapes directement dans Word ?

    Si tu veux simplement remplacer du texte dans un document Word tu n'es pas obligé de parcourir tous les paragraphes, tu peux simplement utiliser la méthode suivante:
    http://msdn.microsoft.com/en-us/library/bb508261.aspx

    Il existe aussi d'autres techniques plus avancée comme les Content Control (http://badger.developpez.com/tutorie...ion-word-2007/) ou le Custom XML (http://badger.developpez.com/tutorie...rkflow-openxml) mais sont peut-être trop complexe pour ton simple besoin.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

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

Discussions similaires

  1. [WD-MAC 2011] comment obtenir 2colonnes de texte indépendantes sur plusieurs pages
    Par MPaule dans le forum Word
    Réponses: 4
    Dernier message: 24/06/2011, 01h18
  2. [FPDF] Texte coupé sur plusieurs pages
    Par nanoute dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 28/07/2010, 16h50
  3. Réponses: 1
    Dernier message: 28/05/2007, 18h23
  4. [CR10 ]un texte sur plusieurs lignes?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 28/09/2005, 07h26
  5. Réponses: 2
    Dernier message: 21/09/2005, 12h18

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