Find and replace Text docx

nrg

Top Contributor
Hallo Zusammen,

wie der Name schon sagt. Ich suche eine Library, die das kann. Mit Apache POI habe ich schon paar Sachen gemacht aber hier passt es auf den ersten Blick für mich nicht wirklich. Ich bin grad dabei docx4j zu testen aber wollte parallel schonmal nach Alternativen fragen.
Habt ihr eine Idee für mich?

Danke und Grüße
Andi

[EDIT]
also doc wäre schon auch noch ok. Hier sieht Apache POI wieder ganz brauchbar aus:
Java:
		FileInputStream fis = new FileInputStream("C:/a.doc");
		POIFSFileSystem fs = new POIFSFileSystem(fis);
		HWPFDocument doc = new HWPFDocument(fs);
		Range range = doc.getRange();
		range.replaceText("hallo", "welt");
		FileOutputStream fos = new FileOutputStream("C:/b.doc");
		doc.write(fos);
		fis.close();
		fos.close();

sollte eigentlich hallo durch welt ersetzen. erzeugt aber leider eine fehlerhafte datei... (selbst wenn nur einliest und daraufhin b.doc erzeugt, ist er output fehlerhaft)[/EDIT]
 
Zuletzt bearbeitet:
POI vergisst leider einige Formatierungen und auch Bilder...

Dann habe ich es mit blackdesperate Vorschlag probiert. Das funktioniert ganz gut, scheitert aber an der Dynamik bei Tabellen und Aufzählungen.

Jetzt bin ich grad bei xdocreport. DocxReporting

Das sieht genau nach dem aus, was ich gesucht habe.

Allerdings habe ich da noch ein Problem:
Sample: odtandvelocity-0.9.6-sample.zip

funktioniert. Allerdings auch leider nur das Sample bzw. genau die im Sample verwendete Ersetzung. Erweitere ich jetzt die Klasse Project um ein Member test mit bean-konformer Getter und meine docx um eine Ersetzungsmarke für test, wird wieder project.name ersetzt. Ich habe das gefühl, dass das irgendeine Demoversion o.ä. ist.

Hat jemand eine Idee, warum die Library nur mit dem Beispiel funktioniert?

[EDIT]edit:
oder ich muss die Ersetzungen erstmal spezifizieren.. nur wie - finde nicht mal javadocs[/EDIT]
 
Zuletzt bearbeitet:

Zurück
Oben