Hallo liebe Forummember,
ich habe folgendes Problem: Für ein kleines Programm habe ich eine writeToPdf Methode geschrieben, die, wenn ich sie mit Eclipse laufen lasse, auch funktioniert. Allerdings geht das ganze, sobald es als jar exportiert ist, nichtmehr. Ich vermute, das Programm findet die Ausgangsdatei, deren Forumlarfelder befüllt werden sollen, nicht mehr. Diese PDF Datei liegt im src Ordner und beim Export habe ich die Option "Package required libraries into generated jar" gewählt. Bei einer früheren Version des Programms hatte das noch funktioniert, dummerweise bin ich mir nicht sicher, was ich geändert habe. Nachdem ich jetzt seit Ewigkeiten rumprobiere, und nichts zum laufen bekomme, hoffe ich, dass mir hier vielleicht jemand auf die Sprünge helfen kann. Hier der Code:
ich habe folgendes Problem: Für ein kleines Programm habe ich eine writeToPdf Methode geschrieben, die, wenn ich sie mit Eclipse laufen lasse, auch funktioniert. Allerdings geht das ganze, sobald es als jar exportiert ist, nichtmehr. Ich vermute, das Programm findet die Ausgangsdatei, deren Forumlarfelder befüllt werden sollen, nicht mehr. Diese PDF Datei liegt im src Ordner und beim Export habe ich die Option "Package required libraries into generated jar" gewählt. Bei einer früheren Version des Programms hatte das noch funktioniert, dummerweise bin ich mir nicht sicher, was ich geändert habe. Nachdem ich jetzt seit Ewigkeiten rumprobiere, und nichts zum laufen bekomme, hoffe ich, dass mir hier vielleicht jemand auf die Sprünge helfen kann. Hier der Code:
Java:
public void writeToPdf(){
try
{
PdfReader reader = new PdfReader("src/bazEmpty.pdf");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PdfStamper stamper = new PdfStamper(reader, baos);
AcroFields form = stamper.getAcroFields();
form.setField("tps", Double.toString(controller.getC1()));
form.setField("gs", Double.toString(controller.getA()));
form.setField("vs", Double.toString(controller.getB()));
form.setField("vzsg", Double.toString(controller.getB1()));
form.setField("spinnaker", Double.toString(controller.getC()));
form.setField("asl", Double.toString(controller.getC2()));
form.setField("spl", Double.toString(controller.getC3()));
form.setField("sl", Double.toString(controller.getC4()));
form.setField("j", Double.toString(controller.getC5()));
form.setField("gewicht", Double.toString(controller.getE()));
form.setField("lwl", Double.toString(controller.getF()));
form.setField("date", DateFormat.getDateInstance(DateFormat.LONG).format(new Date()));
form.setField("baz", Double.toString(Math.round(controller.getBaz()*100000)/100000.0));
form.setFieldProperty("tps", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("gs", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("vs", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("vzsg", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("spinnaker", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("asl", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("spl", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("sl", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("j", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("gewicht", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("lwl", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("date", "setfflags", PdfFormField.FF_READ_ONLY, null);
form.setFieldProperty("baz", "setfflags", PdfFormField.FF_READ_ONLY, null);
stamper.close();
FileOutputStream fos = new FileOutputStream("baz.pdf");
baos.writeTo(fos);
fos.flush();
reader.close();
Desktop.getDesktop().open(new File("baz.pdf"));
}
catch (Exception ex)
{
System.out.println(ex.getMessage());
}
}