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

Framework .NET Discussion :

Objet flowdocument ouvrir et resauvegarder un rtf [Débutant]


Sujet :

Framework .NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 899
    Points : 85
    Points
    85
    Par défaut Objet flowdocument ouvrir et resauvegarder un rtf
    Bonjour,

    Je pense avoir trouver un bug dans l'objet flowdocument,
    Je pense avoir trouver un bug dans l'objet flowdocument,
    Quand j'edite et que je sauvegarde en .rtf et que je reouvre le .rtf -> le contenue est différents avec des caractéres parasites en trop.

    Avez vous ce bug ?

    Est ce que c'est un bug connut ou est-ce que ca viens de mon code ?
    Quand je reouvre avec Microsoft Office Word 2007 le fichier .rtf en question reenregister depuis l'objet flowdocument (joint ), le texte est bien afficher.

    J'ai joint un zip contenant un fichier rtf qui s'ouvre bien dans Word et qui s'affiche mal dans l'objet flowdocument
    .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     public void Import(Stream stream)
            {
                _Import(stream, System.Windows.Forms.DataFormats.Rtf);
            }
    public void _Import(Stream stream,string format)
            {
     
                stream.Position = 0;
                FlowDocument doc = new FlowDocument();
     
                try
                {
                    TextRange textRange = new TextRange(doc.ContentStart, doc.ContentEnd);
                    textRange.Load(stream, format);
                }
                catch(Exception ee)
                {
     
                }
                ed.Document = doc;
                ClearUndo();
            }
            public void Import(Stream stream)
            {
                _Import(stream, System.Windows.Forms.DataFormats.Rtf);
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    public void Export(Stream stream)
            {
                _Export(stream, System.Windows.Forms.DataFormats.Rtf);
            }
     
    private void _Export(Stream stream, string format)
            {
     
                FlowDocument doc = ed.Document;
                TextRange textRange = new TextRange(doc.ContentStart, doc.ContentEnd);
                textRange.Save(stream, format);
                stream.Position = 0;
            }
    Fichiers attachés Fichiers attachés

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Mai 2011
    Messages : 899
    Points : 85
    Points
    85
    Par défaut
    Finalement je pense que le problème venait de mon code qui n'est pas joint dans la discussion.

    J'ai remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using (FileStream fs = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write))
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using (FileStream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write))
    La première ligne du code écrivait par dessus le fichier .rtf au lieu de l'écraser.

    Problème résolut.

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

Discussions similaires

  1. Ouvrir un rtf avec Word au lieu de Wordpad
    Par tabouet dans le forum Word
    Réponses: 9
    Dernier message: 19/10/2014, 19h10
  2. Réponses: 1
    Dernier message: 30/11/2012, 13h02
  3. Comment ouvrir un .RTF directement avec un TRichEdit ?
    Par Matt2094 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 13/09/2007, 09h09
  4. Réponses: 1
    Dernier message: 12/05/2007, 11h26
  5. Mettre un objet dans un document RTF
    Par Terminator dans le forum Windows
    Réponses: 6
    Dernier message: 15/07/2006, 02h13

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