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(); } }
Partager