Hi,
ich hab ein PDF-Formular mit mehreren TextFields und Buttons. Dies habe ich mittels iText eingelesen, um den Buttons Javascript zu hinterlegen:
Danach füge dieses PDF mit weiteren anderen PDF-Seiten zusammen über PdfConcatenate und .addPages.
Mein Formular hat 7 TextFields, die ich per Javascript setzte. Diese Zeigen sehr seltsames Verhalten:
Jetzt bekomme ich schon beim Öffnen des PDFs den Fehler dass
this.getField("Feld3") is null
obwohl ich soweit ich weiß, beim Öffnen überhaupt nichts mit den Feldern mache.
Beim Löschen des Inhalts der TxtFields, also wenn ich per Hand was reinschreibe und dann den den Button zum Löschen drücke (this.getField("...").value = ""; ) funktioniert alles.
Ich habe dann eine Aktion, welche die Felder füllt, hier bekomme ich den gleichen Fehler:
this.getField("Feld1"), allerdings nur, wenn ich vorher nicht auf der Seite im PDF war (also ist die letzte Seite, wenn ich das PDF öffne, zur letzten Seite gehe und wieder iwo hin zurück dann geht alles ohne Fehler. Wenn ich die Aktion allerdings mache ohne vorher wenigstens einmal auf der letzte Seite gewesen zu sein, kommt der Fehler)
Komisch ist auch, dass er immer nur wegen einem Feld schreit, diese TextFields werden wenn, dann alle gesetzt, er beschwert sich aber immer nur wegen einem.
Weiß nicht, iwie scheint es so, als müsste ich zuerst auf die Seite mit dem Formular, dass er die Felder 'geladen' hat oder so. Ist iwie seltsam. Weil in meinem original PDF, das ich ohne iText gemacht habe ist dies nicht der Fall. Da tritt dieses Verahlten nicht auf.
Kann mir vielleicht jemand weiterhelfen?
ich hab ein PDF-Formular mit mehreren TextFields und Buttons. Dies habe ich mittels iText eingelesen, um den Buttons Javascript zu hinterlegen:
Java:
PdfReader reader = new PdfReader(EINGABE.PDF);
PdfStamper stamper = new PdfStamper(reader, newFileOutputStream(AUSGABE.PDF));
//Add Javascript to an existing button
AcroFields form = stamper.getAcroFields();
PushbuttonField buttonDelete = form.getNewPushbuttonFromField("ButtonDelete");
PdfFormField fieldDelete = buttonDelete.getField();
fieldDelete.setAction(PdfAction.javaScript(Utilities.readFileToString(JAVASCRIPT),stamper.getWriter());
form.replacePushbuttonField("ButtonDelete", fieldDelete);
Danach füge dieses PDF mit weiteren anderen PDF-Seiten zusammen über PdfConcatenate und .addPages.
Mein Formular hat 7 TextFields, die ich per Javascript setzte. Diese Zeigen sehr seltsames Verhalten:
Jetzt bekomme ich schon beim Öffnen des PDFs den Fehler dass
this.getField("Feld3") is null
obwohl ich soweit ich weiß, beim Öffnen überhaupt nichts mit den Feldern mache.
Beim Löschen des Inhalts der TxtFields, also wenn ich per Hand was reinschreibe und dann den den Button zum Löschen drücke (this.getField("...").value = ""; ) funktioniert alles.
Ich habe dann eine Aktion, welche die Felder füllt, hier bekomme ich den gleichen Fehler:
this.getField("Feld1"), allerdings nur, wenn ich vorher nicht auf der Seite im PDF war (also ist die letzte Seite, wenn ich das PDF öffne, zur letzten Seite gehe und wieder iwo hin zurück dann geht alles ohne Fehler. Wenn ich die Aktion allerdings mache ohne vorher wenigstens einmal auf der letzte Seite gewesen zu sein, kommt der Fehler)
Komisch ist auch, dass er immer nur wegen einem Feld schreit, diese TextFields werden wenn, dann alle gesetzt, er beschwert sich aber immer nur wegen einem.
Weiß nicht, iwie scheint es so, als müsste ich zuerst auf die Seite mit dem Formular, dass er die Felder 'geladen' hat oder so. Ist iwie seltsam. Weil in meinem original PDF, das ich ohne iText gemacht habe ist dies nicht der Fall. Da tritt dieses Verahlten nicht auf.
Kann mir vielleicht jemand weiterhelfen?
Zuletzt bearbeitet von einem Moderator: