2011-01-06 5 views
0

Wie der Titel sagt, muss ich Textfelder mit Daten füllen (was perfekt funktioniert) und die Felder nicht editierbar machen.Wie kann ich ein Feld nicht bearbeiten, nachdem ich einen Text eingegeben habe?

Ich habe versucht, dass

form.SetFieldProperty(key, key, TextField.READ_ONLY, Nothing)

mit zu erreichen, aber ich weiß nicht, was als letzten Parameter setzen in und diese Linie wirklich etwas für mich tun abgepfiffen. Eine andere Sache, die ich versuchte, war zu tun

form.RemoveField(key) 

aber das entfernt das Feld einschließlich des Textes, so hatte ich eine leere pdf.

Ich habe seit einiger Zeit nach einer Lösung gesucht, und ich konnte nichts finden, um mir in keiner Anleitung oder Dokumentation zu helfen. Ich bin eigentlich ziemlich überrascht, dass niemand vorher nach dieser Funktionalität gefragt hat. Liegt es wirklich daran, dass niemand diese Funktion benötigt? Oder liegt es daran, dass es mit iTextSharp so einfach oder gar nicht möglich ist?

Antwort

2

Meine Vermutung:

form.SetFieldProperty(key, key, TextField.READ_ONLY, TRUE) 

Check out here. Sie listen einige verschiedene Wege auf, dies zu tun.

2

Vielen Dank Tony. Da ich die Lösung in Ihrem Link finden konnte, poste ich das hier als Antwort auf meine eigene Frage.

Set FormFiel lesen nur:

form.SetFieldProperty(key, "setfflags", PdfFormField.FF_READ_ONLY, Nothing)