Hallo liebe Leute,
ich habe eine Frage zum Befüllen eines interaktiven PDFs mit den Werten aus einer HashMap, welche über JTextAreas befüllt wurde.
Die untenstehende Methode sollte eigentlich die Werte aus der gefüllten "valueMap" in die gleichnamigen PDF-Felder übertragen.
Beim Ausführen erscheint kein Fehler, jedoch bleiben die Felder beim fertigen PDF leer.
Wenn ich allerdings Werte aus einem String ein- bzw. auslese, funktioniert das problemlos.
Somit mache ich vermutlich beim Auslesen der HashMap etwas falsch?
Ich hoffe, jemand kann mir weiterhelfen. Vielen Dank schon einmal im Voraus!
LG nimrod
ich habe eine Frage zum Befüllen eines interaktiven PDFs mit den Werten aus einer HashMap, welche über JTextAreas befüllt wurde.
Die untenstehende Methode sollte eigentlich die Werte aus der gefüllten "valueMap" in die gleichnamigen PDF-Felder übertragen.
Beim Ausführen erscheint kein Fehler, jedoch bleiben die Felder beim fertigen PDF leer.
Wenn ich allerdings Werte aus einem String ein- bzw. auslese, funktioniert das problemlos.
Somit mache ich vermutlich beim Auslesen der HashMap etwas falsch?
Ich hoffe, jemand kann mir weiterhelfen. Vielen Dank schon einmal im Voraus!
LG nimrod
Java:
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.util.HashMap;
String dateiname = "Haus";
PdfReader reader = new PdfReader(
"C:\\Users\\Benutzer\\Desktop\\templates\\hausTemplate.pdf");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfStamper stamper = new PdfStamper(reader, baos);
AcroFields form = stamper.getAcroFields();
form.setField("Wohnflche", valueMap.get("Wohnflche"));
form.setField("Grundstueck", valueMap.get("Grundstueck"));
form.setField("Zimmer", valueMap.get("Zimmer"));
// Beschreibbares PDF wird gespeichert
if (i == 0) {
stamper.setFormFlattening(false);
stamper.close();
FileOutputStream fos = new FileOutputStream(
// Speicherort wählen
"C:\\Users\\Benutzer\\Desktop\\templates\\output\\" + "storage"
+ dateiname + ".pdf");
baos.writeTo(fos);
fos.flush();
reader.close();
} else {
// Verwendbares PDF wird erzeugt
stamper.setFormFlattening(true);
stamper.close();
FileOutputStream fos = new FileOutputStream(
// Speicherort wählen
"C:\\Users\\Benutzer\\Desktop\\templates\\output\\" + dateiname + ".pdf");
baos.writeTo(fos);
fos.flush();
reader.close();
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}