Hallo Java-Freunde,
ich möchte docx-Dateien erzeugen mit dem Paket DocXStamper, das ich im Internet gefunden habe. Es ist als einzige kostenfrei, deswegen möchte ich es verwenden.
Hier ist die Beschreibung, an die ich mich gehalten habe.
www.adesso.de
In der Word-docx Datei schreibe ich zum Erzeugen wie in aus der Anleitung hervorgeht:
${sp.herr} oder ${sp.plz}
und das funktioniert nicht.
Keine Compiler-Fehler, es wird out.docx erzeugt, aber der Ausdruck bleibt so stehen, wird nicht ersetzt.
auch ${sp.getHerr()} funktioniert nicht.
Wo finde ich auf dem hinterlegten Quellcode bei Github https://github.com/thombergs/docx-stamper
ein ganz einfaches Hello-World Beispiel ?
achja, die Spender-Klasse fehlt noch:
ich möchte docx-Dateien erzeugen mit dem Paket DocXStamper, das ich im Internet gefunden habe. Es ist als einzige kostenfrei, deswegen möchte ich es verwenden.
Hier ist die Beschreibung, an die ich mich gehalten habe.

Word-Dokumente aus Templates Erzeugen mit DocxStamper
Immer mal wieder stolpert man in Projekten über die Anforderung, Word-Dokumente programmatisch zu erzeugen. PDF reicht in solchen Fällen oft als Dateiformat nicht aus, weil die Dokumente aus manuell erstellten Templates erzeugt oder manuell nachbe ...
Java:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.mycompany.spendenbescheinigung;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.wickedsource.docxstamper.DocxStamper;
import org.wickedsource.docxstamper.DocxStamperConfiguration;
/**
*
* @author niy
*/
public class DocXStamper_Test1
{
public static void main(String[] args) throws Exception
{
Spender sp = new Spender("Martin","XXX","Hauser","Bergweg 12","79342","Senkendorf");
InputStream template = new FileInputStream("J:\\Uebung\\Vorlagen\\vorlage.docx"); // InputStream, der auf unser Template zeigt
OutputStream out = new FileOutputStream("J:\\Uebung\\Vorlagen\\out.docx");
DocxStamper ds = new DocxStamperConfiguration().build();
// System.out.println(sp.getHerr());
ds.stamp(template, sp, out);
out.close();
}
}
In der Word-docx Datei schreibe ich zum Erzeugen wie in aus der Anleitung hervorgeht:
${sp.herr} oder ${sp.plz}
und das funktioniert nicht.
Keine Compiler-Fehler, es wird out.docx erzeugt, aber der Ausdruck bleibt so stehen, wird nicht ersetzt.
auch ${sp.getHerr()} funktioniert nicht.
Wo finde ich auf dem hinterlegten Quellcode bei Github https://github.com/thombergs/docx-stamper
ein ganz einfaches Hello-World Beispiel ?
achja, die Spender-Klasse fehlt noch:
Java:
package com.mycompany.spendenbescheinigung;
public class Spender
{
private String herr;
private String frau;
private String name;
private String strasse;
private String ort;
private String plz;
public Spender(String h, String f, String n, String s, String o, String p)
{
this.herr=h; // Es könnte auch herr=h stehen. this.herr = herr nur notwendig wenn übergebene Variable auch herr lautet
this.frau=f;
this.name=n;
this.strasse=s;
this.ort=o;
this.plz=p;
}
// ************************************ //
public void setHerr(String herr) {
this.herr = herr;
}
public String getHerr() {
return herr;
}
// ************************************ //
public void setFrau(String frau) {
this.frau = frau;
}
public String getFrau() {
return frau;
}
// ************************************ //
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
// ************************************ //
public void setStrasse(String strasse) {
this.strasse = strasse;
}
public String getStrasse() {
return strasse;
}
// ************************************ //
public void setPlz(String plz) {
this.plz = plz;
}
public String getPlz() {
return plz;
}
// ************************************ //
public void setOrt(String ort) {
this.ort = ort;
}
public String getOrt() {
return ort;
}
@Override
public String toString(){
return herr+","+frau+","+name+","+strasse+","+plz+","+ort;
// Das ist noch irgendwas, ist so nicht korrekt !
}
}