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

Format d'échange (XML, JSON...) Java Discussion :

XML Accents Word


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut XML Accents Word
    Bonjour à tous.

    Je sais que ce sujet à déjà été traité de nombreuse fois, mais je pense que mon approche (peut orthodoxe) nécessite sa propre solution ...

    L'idée est la suivante.

    Je remplis des champs dans une ihm.
    Puis je charge un document word, enregistré au format XML Word 2003.
    Je lis ce xml et j'en fais un String.
    Ensuite je parcours mon String à la recherche de certains mots clefs que je remplace par les valeurs saisies dans mon ihm.
    Enfin, je lance mon nouveau document word.

    J'ai le code qui marche pour ça.

    Mais s'il y a le moindre accents, terminato!!
    Word ne s'ouvre pas, car il y a des caractères xml interdits...


    Alors voilà ma question :

    Comment faire pour qu'il y ait des accents sur le document word, sachant qu'il a été enregistré en XML???

    Merci.

    Voici une petite précision : seuls les accents ajoutés via l'ihm font merder l'ensemble. Les accents présents dans le document model ne posent pas de problèmes. En gros je peux ouvrir un xml avec des accents grâce à word, si ce document à été édité et enregistré depuis word. Le problème, c'est que je dois modifier ce document avec mon ihm, et là ça ne marche plus...

    Je suis vraiment en galère, vous auriez pas une idée ? Même une toute petite ?

    Encore une petite précision, je me suis dit que j'allais ruser...
    j'ai repéré la manière dont word code les accents, grâce à un document word bidon, et j'ai essayé d'ajouter des accents à mon model en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ligne.replace("<w:r><w:t>bonjour</w:t></w:r>","<w:r wsp:rsidR=\"004C75DF\"><w:t>é</w:t></w:r>")
    Mais ça ne marche pas...

    Pourtant, si je fais cela depuis NotePad2, ça marche bien???
    C'est quoi son problème à Word?

    A force de chercher, je me demande si ça ne serait pas un problème d'encodage...
    J'ai vu sur le net, que ça pouvait être un vrai merdier. Serait il possible que le é que je tape dans éclipse ne soit pas écrit directement dans word quand je fais replace et qu'il soit d'abord encodé?
    Dans ce cas, c'est peut être un problème d'encodage? Je ne sais pas vraiment si je commence à péter les plombs, ou si au contraire je me rapproche du problème....

    Ou cas où, voici la déclaration de mon document word...

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

  2. #2
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    Pour ceux que ça intéresserait voilà la réponse que j'ai reçue d'un ami :

    en UTF-8, un caractère est codé sur 8 bits donc pas d'accents si quelques traite ton fichier en ASCII.
    Tandis que si tu avais UTF-16, tu obliges les applications à coder un caractère sur 16 bits et donc ce n'est plus de l'ASCII mais de l'unicode et dans ce cas tu es sur d'avoir les accent pris en compte.
    Je te conseille de ne pas utiliser Word pour faire tes modèles mais une application à toi. Ce n'est pas dur, c'est juste fastidieux. Il faut y passer du temps.
    Voilà.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Ben faut juste faire gaffe au moment de la ré-écriture de bien le faire en UTF-8 comme le déclare l'entête XML.

    Sinon, j'ai utilisé une approche assez similaire, avec des XSD pour cadrer le références possible. Regarde ce plugin avec lequel tu peux de façon assez intuitive ajouter des références au XSD au sein du doc word.

  4. #4
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    J'arrive pas à l'installer. Il me met Error 1001 et arrête l'installation. Est ce que cela vient du fait que j'ai office 2007 ?

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Peut être, en effet, j'ai la seulement la version 2003.
    C'est bien dommage que ça ne fonctionne pas, peut être est-ce déjà intégré à 2007.
    Ca ajoute ce genre de fonctionnalités : cf image.
    Images attachées Images attachées  

  6. #6
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut
    au risque d'être lourd, je vais insister un peu car il se passe des choses étranges dans mon pc...

    Je n'ai jamais prétendu comprendre mon pc, mais d'habitude, il ne me surprend pas autant!!!

    Alors voilà, j'ai fait un doc word avec comme texte é è à ï î
    je l'enregistre en Document Word 2003 XML.
    Je le place dans un dossier du projet java.

    Puis je lance ce document de la manière suivante :

    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
     
    try {
     
     
    			input = new File("BilanWord/accentsModel.xml");
    			writer = new FileWriter("BilanWord/accents.xml");
     
    			FileInputStream fis = new FileInputStream(input);
    			InputStreamReader isr = new InputStreamReader(fis);
    			BufferedReader br = new BufferedReader(isr);
    			while(br.ready()){	
    				String ligne = br.readLine();
    				writer.write(ligne);
    			}
    			writer.close();
    		} 
    		catch (FileNotFoundException e1) {e1.printStackTrace();} 
    		catch (IOException ex) {ex.printStackTrace();}
    		try {
    			String fichier =  "BilanWord/accents.xml"; break;
    			Runtime.getRuntime().exec('\"'+cheminDeWord+'\"' +" "+'\"'+ fichier+'\"');			
    		} catch (IOException e1) {
    			e1.printStackTrace();
    		}
    	}
    cela me lance mon document sans problème.

    Accrochez vous, la magie arrive.
    Si je vais dans le répertoire ou se trouve le fichier accents et que je l'ouvre avec word, alors là, il m'indique qu'il y a un caractère xml inattendu !!!

    A croire que la lecture/réécriture de java l'a calmé, mais pourtant, je ne change rien...

    Si je me demande ce qu'il se passe c'est parce que je ne crois pas que je réussirais à résoudre mon problème en bidouillant, donc je voudrais vraiment comprendre.

    Merci beaucoup

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

Discussions similaires

  1. [C#]Ouvrir un XML avec Word
    Par Terminator dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/07/2006, 12h48
  2. [VB.NET][VS2002][1.0] XML et WORD DOTFILE
    Par pierre.ricci dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/04/2006, 12h00
  3. [XML] Accent dans les noms de balises
    Par virgul dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 09/03/2005, 13h42

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