iText und PdfWriter.DID_SAVE

Java-Lord

Mitglied
Hallo zusammen,

ich erzeuge an Hand einer PDF-Vorlage (ist ein leeres Formular) eine zweite PDF Datei. Beim Aufruf der Anwendung (ist eine jar Datei) wird die zweite PDF Datei mit Daten erzeugt.

Also: java -jar XYZ.jar PDF-Vorlage.pdf Ergebnis.pdf "feld1=daten1;feld2=daten2;"

Feld1, Feld2 und etc. sind die Textfelder in der PDF-Vorlage, welche ich mit Daten befülle und anschließend als zweite PDF-Datei (Ergebnis.pdf) speichere. Die Felder der zweiten PDF Datei können durch Kunden nachträglich geändert werden. Es kann auch passieren, dass die Kunden die Daten aus den Textfeldern löschen. Aus Technischen Gründen müssen wir diesen leeren Feldern beim Speichern der Datei Ergebnis.pdf mit "-" oder ein anderes Zeichen befüllen!

Beispiel: Kunde löscht den Inhalt des Feldes Name:
Nach dem Speichern der Datei sieht das Feld Name so aus:
Name: -

Wie kann man bei dem Event PdfWriter.DID_SAVE nur die Text-Felder der PDF-Datei abfragen und durch ein Zeichen ersetzen, falls es leer ist?

Ich benötige nur den JavaScript Code! Wenn ich die Befehle zusammengebaut habe, rufe ich einfach

pdfWriter.setAdditionalAction(PdfWriter.DID_SAVE, PdfAction.javaScript("JavaScript Code", pdfWriter));

auf. Oder gibt es mit iText eine Möglichkeit die leere Text-Felder der aktuell geöffneten PDF-Datei abzufragen?

Vielen Dank im Voraus für die Antworten. :)
 

arilou

Bekanntes Mitglied
Zum Verständnis: Ablauf:
  1. Es gibt die Dateien XYZ.jar sowie PDF-Vorlage.pdf
  2. "feld1=daten1;feld2=daten2;" ist auch vorgegeben (die 'feldX' sowie 'datenX')
  3. Es wird ausgeführt:
    java -jar XYZ.jar PDF-Vorlage.pdf Ergebnis.pdf "feld1=daten1;feld2=daten2;"
    Das erzeugt die Datei Ergebnis.pdf .
  4. Jetzt kommt ein User, und editiert Ergebnis.pdf , und löscht aus (z.B.) 'feld1' die 'daten1' wieder heraus.
  5. Ein weiteres Java-Programm QQQ.jar ließt Ergebnis.pdf ein, und soll abfragen, welche Felder es alle gibt und welche davon leer sind; die leeren soll es mit "-" befüllen.
Soweit richtig?
 

Java-Lord

Mitglied
Hi!

Bis Punkt 4 alles richtig. Kein Programm ließt die Datei Ergebnis.pdf, sondern der User öffnet die Datei einfach mit einem PDF-Tool (Adobe Reader oder PDF-XChange Viewer) und editiert die Daten. Ich habe mittlerweile das Problem gelöst. Ich frage im eingebeteten Javascript ab, ob ein Feld leer ist, wenn ja, dann befülle ich dieses Feld mit einem "-" Zeichen.

var field = getField(feldX);
if (field.value == null || field.value == ''){
field.value = '-'
}

pdfWriter.setAdditionalAction(PdfWriter.WILL_SAVE, PdfAction.javaScript("JavaScript Code von oben", pdfWriter));

Soweit so gut. Es gibt aber noch ein Problem, das ich noch nicht gelöst habe! Es gibt im PDF-Formular Textfelder, die nur Zahlen zulassen! Wenn der User auf einem Feld (Betrag XYZ) den Inhalt löscht, kann ich nicht ein Zeichen "-" reinschreiben. Es kommt stets die Meldung, dass nur Zahlen erlaubt sind. Ich kann mit getField('Feldname') nur den Wert abfragen aber nicht die Eigenschaft des Feldes. Ich weiß es nicht, wie ich abfragen soll, ob dieses Feld nur Zahlen akzeptiert oder nicht. Wenn ich irgendwie herausbekomme, dann kann ich ein 0 reinschreiben und nicht ein Zeichen "-"

Danke.
 

arilou

Bekanntes Mitglied
Java:
try{
  // versuche '-' reinzuschreiben
} catch( Throwable e ) {
  // dann eben eine '0'
}
Sofern JavaScript benötigt wird, damit kenn' ich mich nicht so gut aus. (Und mit dem zugehörigen Exceptionhandling schon gleich gar nicht...)
 
Zuletzt bearbeitet:

Java-Lord

Mitglied
Wenn ich catch( Throwable e ) verwende, dann funktioniert gar nichts mehr!

Mit nur catch (exc) {} funktioniert mit dem '-' reinschreiben

Mit catch( Throwable e ) funktioniert im Try-Block das Reinschreiben vom Zeichen '-' nicht mehr! Das muss man erst verstehen!?!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards iText Lizenz? Allgemeine Java-Themen 2
O PDF auslesen und verändern, was ist besser iText oder PDFBox ? Allgemeine Java-Themen 9
I OpenPDF (ehem. iText) will kein PDF mit CMYK only erzeugen Allgemeine Java-Themen 6
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
W PDFs signieren mittels IText / Lowagie Allgemeine Java-Themen 0
M itext - Button der Text in Zwischenablage stellt Allgemeine Java-Themen 0
S iText: zweite Seitenhälfte mit vorhandenen pdf füllen Allgemeine Java-Themen 2
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
S JFileChooser und iText Allgemeine Java-Themen 6
T iText mit eclipse richtig in Java-Projekt einbinden Allgemeine Java-Themen 2
4a61766120617274697374 PDF iText Wort Koordinaten auslesen Allgemeine Java-Themen 1
S iText Cellen mit Attributen aus ArrayListen füllen Allgemeine Java-Themen 1
G Mein PDF Projekt mit iText Allgemeine Java-Themen 2
T itext: text in ein textfeld hinzufügen Allgemeine Java-Themen 2
K Pdf mit dynamischem Text mit iText Allgemeine Java-Themen 0
C Itext Voralagen Header Footer -> PDF Allgemeine Java-Themen 0
S runnable jar file in Verbindung mit itext Allgemeine Java-Themen 3
I itext Libreoffice Java und ein PDF Template Allgemeine Java-Themen 1
F Input/Output Problem mit iText: Formularfeld uneditierbar machen Allgemeine Java-Themen 0
L iText PDF-Generierung ohne Speichern Allgemeine Java-Themen 10
P iText Text zentrieren Allgemeine Java-Themen 3
L iText PDF Form-Felder werden nach Bearbeitung mit iText nicht mehr richtig erkannt. Allgemeine Java-Themen 2
A Tabelle mit iText erstellen Allgemeine Java-Themen 3
B itext Graphics Allgemeine Java-Themen 4
V iText Textfelder mit Zahlen! Allgemeine Java-Themen 2
H JTable per iText in PDF: Größenanpassung möglich? Allgemeine Java-Themen 2
M itext Leerzeichen am ende unterstreichen Allgemeine Java-Themen 4
C Wie kann man die IText Table Position bestimmen? Allgemeine Java-Themen 3
N iText-Nutzung (Version 2.1.7) in kommerzieller Website Allgemeine Java-Themen 8
K iText, HTML Einrückung im Document, aber nicht im Paragraph Allgemeine Java-Themen 3
B iText Portable Collection Acrobat X Allgemeine Java-Themen 2
J iText und images Allgemeine Java-Themen 6
S iText PDF - Verständnisproblem beim Update von TableCells (Seitenzahlen) Allgemeine Java-Themen 2
T iText Dokument in DB und dann in ein JPanel Allgemeine Java-Themen 5
N iText Problem beim verlinken anderer PDFs Allgemeine Java-Themen 2
G itext BarcodeDatamatrix Allgemeine Java-Themen 4
F IText Table ohne Rand Allgemeine Java-Themen 5
P Itext PDf wird zu groß Allgemeine Java-Themen 8
D Tabellenbeschriftung im RTF-File mit IText erstellen??? Allgemeine Java-Themen 2
D pdf mit iText drucken Allgemeine Java-Themen 4
P PDF erstellen ohne iText Allgemeine Java-Themen 3
Guybrush Threepwood iText de facto nicht mehr verwendbar Allgemeine Java-Themen 15
D tiff (->komprimieren)-> iText(pdf) Allgemeine Java-Themen 2
Dissi Itext - Anordnung von Elementen durch PDF Writer Allgemeine Java-Themen 2
Z iText - 2. Seite pdf Allgemeine Java-Themen 7
W itext: Initialer Abstand in einem Dokument Allgemeine Java-Themen 2
T Deckblatt im iText realisieren... Allgemeine Java-Themen 5
T JXPanel mit seinen Komponenten auf PDF mit iText ausgeben Allgemeine Java-Themen 15
T IText: Zwei A4 PDF´s auf ein A3 PDF´s Allgemeine Java-Themen 2
A Itext: Fonts einbetten Allgemeine Java-Themen 1
A Dynamische PDF Erstellung mit iText Allgemeine Java-Themen 4
D itext & Stringlänge Allgemeine Java-Themen 10
G iText Kursiv/Fett mit IText Allgemeine Java-Themen 3
F Probleme mit iText Allgemeine Java-Themen 3
R Pdf öffnen, das von iText erstellt wurde Allgemeine Java-Themen 4
D iText und Table.setTableFitsPage(); geht nicht Allgemeine Java-Themen 12
R Pfad zu PDF bei iText in Webapps Allgemeine Java-Themen 4
D Probleme beim Umstellen von iText 1.4.4 auf Version 2.1.2 Allgemeine Java-Themen 5
G itext größe von image Allgemeine Java-Themen 2
J itext cell border Allgemeine Java-Themen 1
E Aus mehreren PDFs eines machen, zusammenfügen mittels iText Allgemeine Java-Themen 1
T Java Applet PDF erstellen mit iText, Probleme mit Pfad Allgemeine Java-Themen 1
J Itext , Spaltenbreite automatisch anpassen ? Allgemeine Java-Themen 4
Lazybone iText und Drucken Allgemeine Java-Themen 5
J Itext Seite drehen ? Allgemeine Java-Themen 4
S iText Allgemeine Java-Themen 10
A Probleme mit iText - Text in Zellen ist zu lang Allgemeine Java-Themen 7
P RTF dynamisch machen (IText, Swing) Allgemeine Java-Themen 4
L iText: Mehrseitiges PDF erzeugen Allgemeine Java-Themen 9
L Per IText erstelltes PDF automatisch drucken Allgemeine Java-Themen 13
V Itext - "Seite . von " ausgeben Allgemeine Java-Themen 6
G iText: Problem beim Drucken von AcroFormen Allgemeine Java-Themen 2
B Probleme mit itext Allgemeine Java-Themen 2
T iText + neue Seite Allgemeine Java-Themen 14
K JFreeChart und itext: Bildprobleme Allgemeine Java-Themen 4
G iText: Wie stellt man die Höhe eines Strings fest? Allgemeine Java-Themen 3
V Lösung mit iText gesucht. Allgemeine Java-Themen 2
Z Frage zu iText Allgemeine Java-Themen 2
A Übergroße Graphics2D mit iText als PDF schreiben Allgemeine Java-Themen 3
D iText: Tabelle in Footer einfügen Allgemeine Java-Themen 6
R iText: PDF-Datei erzeugen Allgemeine Java-Themen 2
P iText unter Linux zum Laufen bringen Allgemeine Java-Themen 4
R iText.jar wird zur Laufzeit nicht gefunden Allgemeine Java-Themen 4
L editieren von pdf mit iText Allgemeine Java-Themen 2
S iText - Java meets PDF Allgemeine Java-Themen 5
M CrudRepository save Methode mocken Allgemeine Java-Themen 6
Thallius Ist meine static Helper Class Thread save? Allgemeine Java-Themen 9
L Design-Frage: Platzierung der Save-Methode Allgemeine Java-Themen 3
Developer_X Save with Java in Txt Allgemeine Java-Themen 2
A java logging api scheint nicht thread save zu sein Allgemeine Java-Themen 22
G Thread- save versus Nicht- Thread- save Allgemeine Java-Themen 2
MQue save as jpeg Allgemeine Java-Themen 3
M IOException bei save und load in LinkedList Allgemeine Java-Themen 4
S In einem HTML Quellcode gewünschten Abschnitt in Datei Save Allgemeine Java-Themen 9

Ähnliche Java Themen


Oben