Bonjour,

J'ai un fichier template au format XML (un fichier FO).
Je souhaite remplacer différents termes de ce modèle selon les informations provenant d'une bdd. Cela afin de sortir un document PDF (--> FOP) en fonction des renseignements demandés.

J'ai essayé ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
fofile = new File("F:\\examples\\facture.fo");
FileInputStream reader = new FileInputStream(fofile);
FileOutputStream writer = new FileOutputStream("tmpFile");
StringBuffer tmp = new StringBuffer();
int offset = 0;
while ((offset = reader.read()) != -1) {
    tmp.append((char) offset);
}
reader.close();
tmp.toString().replaceAll("COMPANY_NAME", "Ma Société");
writer.write(tmp.toString().getBytes());
reader = new FileInputStream("tmpFile");
renderFO(new InputSource(reader), response);
Mais le remplacement n'a pas été fait, j'ai toujours COMPANY_NAME en sortie dans mon fichier PDF.

Je pense qu'un FileWriter et FileReader serait plus approprié que des FileInputStream et FileOutputStream, mais avec les premiers, j'ai des erreurs lorsque le document final est parsé pour conversion (L'erreur dit que le fichier XML doit se finir avec la même balise que celle de début, ce qui est normalement le cas.)

Que ce passe t'il alors ? Pour le remplacement ne fonctionne pas ?

Merci d'avance

Steph






[Modéré par Didier]
Modification du tag (ancien [Java])
Lire les règles du forum : Règles du forum Java