Hello,
Je recherche tout type de documents concernant la manipulation de document word avec Apache POI - HWPF mon but est de traiter un fichier bas� sur un template et d'y remplacer des valeurs ou des champs d�finis
d'avance je vous remercie
Hello,
Je recherche tout type de documents concernant la manipulation de document word avec Apache POI - HWPF mon but est de traiter un fichier bas� sur un template et d'y remplacer des valeurs ou des champs d�finis
d'avance je vous remercie
A premi�re vue aucune doc n'existe sur le sujet et le projet n'est pas mature que pensez-vous de open office api ?
et que pensez de WordProcessingML http://blogs.msdn.com/dotnetinterop/...d-ms-word.aspx ?
En ce qui concerne la production de document Word tu ne trouveras rien de correct en libre...
Puis pour les solutions XML de microsoft, elles ne concernent qu'un petit subset de versions d'office (2007 a la sienne, 2003 la sienne et elles sont incompatibles)....
Sinon tu peux faire du RTF avec des choses comme RTFTemplate.
Ou sinon tu as OpenDocument qui est support� par OOO et sera support� dans les prochaines release d'office, et qui est un standard iso (mais bon le temps de faire comprendre �a a une boite...). De plus OpenOffice propose une API Java pour l'OpenDocument. Et puis il existe des API java pour la conversion entre les diff�rents formats: http://www.artofsolving.com/opensource/jodconverter
Bonjour,
Je suis en train de travailler sur le sujet , j'ai explorer pas mal de possibilit�s.
En fait l'api d'open Office te permet de faire ce que tu recherches, je viens de cr�er mon premier docuemnt gr�ce au SDK open office.
Inconv�nient : doc in english and not very simple for an new user ...
Avantage : T'as pas de limite sinon le temps d'apprentissage,
Je suis en train d'essayer de coder un mod�le et cela fonctionne en java.
Word = crosoft donc proprio donc not open
Open document
olivier
j ai discut� avec mon chef de projet, il m'a dit que pour que XXXX passe au solution open office il faudrait du temps ... voir jamais ils sont tr�s attach�s au standards microsoft
j ai fait une function de proof of concept pour WordML et miracle ca fonctionne tr�s bien pour un template g�n�r� avec office 2003 et le document g�n�r� s ouvre tr�s bien avec 2007
et c'est d'une simplicit� enfantine
voici le code (pas beau)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 package com.test; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintStream; public class WordML { public static void createPermisDeConstruireDocument() { File file = new File("C:\\fiche_1.xml"); FileInputStream fis = null; BufferedInputStream bis =null; DataInputStream dis = null; FileOutputStream out; // declare a file output object PrintStream p; // declare a print stream object try { String commune = "Fribourg"; String mimeEncoding ="8859_1"; String fileName ="123123"; out =new FileOutputStream("C:\\" + fileName + ".xml"); OutputStreamWriter outW = new OutputStreamWriter(out, mimeEncoding); // Connect print stream to the output stream p = new PrintStream( out ); fis = new FileInputStream(file); // Here BufferedInputStream is added for fast reading. bis = new BufferedInputStream(fis); dis = new DataInputStream(bis); while (dis.available() != 0) { String line = dis.readLine(); //line = XmlEncode(line); line = line.replace("$commune", commune); outW.write(line); System.out.println(line); System.out.println("\n"); } outW.flush(); outW.close(); p.close(); } catch (Exception ex) { System.out.println("Exception : " + ex.getMessage()); } finally { try{ fis.close(); dis.close(); } catch (Exception ex) { System.out.println("Exception : " + ex.getMessage()); } } } public static void main (String [] args) { WordML.createPermisDeConstruireDocument(); } }
Bonjour Alexandre,
Je me permet de te citer :
Tu pourras dire � ton chef de projet et � tes clients que Microsoft n'est pas un standard, c'est une entreprise multinationale qui n'a qu'un seul et unique int�r�t : faire du profit sur le dos de ses clients.
A ton chef de projet de voir s'il veut que tes d�veloppements (qui co�tent cher) ne soient plus valable dans 2 ou 3 ans, car M$ aura d'ici-l� sorti encore une nouvelle version de ses produits... et faire d�pendre son projet du degr� d'avarice d'une firme, c'est assez... comment dire... dangereux, non.
A ta d�charge, je pense que le mot formats �tait vraiment le mot le plus juste dans ce contexte.
Quant � ta classe, elle ne fait qu'�crire des donn�es prise dans un fichier xml vers un autre fichier xml...
La pertinence de la manipulation serait au moins d'enregistrer le dit document avec l'extension consacr�e (.doc) et d'y mettre le contenu de ton template word (avec les subsitutions/insertions aux bons emplacements).
Ceux qui ne sont pas habitu�s � Java (ou Perl ou Python ou PHP et autres langages libres) ne sont pas tr�s familiers de ce que le mot libert� signifie en d�veloppement. Mais il est vrai que ta m�thode est bien la bonne, il suffit d'utiliser les classes de base de gestion des flux en java pour y arriver tranquillement.
Bien cordialement.
Tu as tout � fait raison c'�tait bien de format ce dont je parlaisje vais �tendre mon petit proof of concept � d'autres utilisation
![]()
Partager