2016-07-04 12 views
0

Ich benutze itextsharp lib in meinem asp.net MVC-Projekt und habe wenige radiobutton Gruppen in PDF-Datei. Diese Datei wurde in Adobe Acrobat als editierbare Form erstellt. Wenn ich Name und Typ (Get specific types from AcroField) aller bearbeitbaren Felder anzeigen, bekomme ich leider nur den Typ der Radiobutton-Gruppe als "RADIOBUTTON", aber Subradiobutton wird nicht angezeigt.Wert der Radiobutton-Gruppe erhalten

Wie kann ich es anzeigen?

Vielen Dank im Voraus für Ihre Antwort.

Antwort

0

Es gibt keinen "Subradiobutton" -Typ. Bitte überprüfen Sie ISO-32000-1, wenn Sie mir nicht glauben.

Die Hierarchie der Felder wird durch die Namen der Felder festgelegt. Siehe meine Antwort auf die Frage iTextSharp RenameField bug? Die Punkte in den Feldnamen beziehen sich auf eine Hierarchie.

Zum Beispiel: wenn Sie ein Feld mit dem Namen person haben; dieses Feld können Kinder wie

  • name und
  • address haben.

Die voll qualifizierten Namen dieser untergeordneten Felder wäre dann:

  • person.name und
  • person.address.

Adresse hat wiederum Kind Felder kann, wie zum Beispiel:

  • street,
  • city und
  • country.

Dies führt zu einem vollständig qualifizierten Namen wie:

  • person.address.street,
  • person.address.city und
  • person.address.country.

Wenn Sie für „subradiobuttons“ suchen, sollten Sie bei den vollständig qualifizierten Namen der Felder suchen, und untersuchen, wie viele Punkte (.) sie haben.

Sie sind wahrscheinlich auch verwirrt über den Unterschied zwischen einem Radio-Feld und einem Radio-Button. Ein Funkfeld ist ein Feld, das einen spezifischen Namen hat, z. language. Der Wert dieser language kann durch Klicken auf einen der vielen Optionsfelder ausgewählt werden. Diese Schaltflächen sind Widget-Anmerkungen mit zwei Erscheinungszuständen (ausgewählt und nicht ausgewählt). Wenn Sie die möglichen Werte eines Funkfeldes kennen möchten, müssen Sie diese Erscheinungszustände erhalten.

Du hast bereits die Methode gesehen, dass dies zu tun in How to get specific types from AcroFields? Like PushButtonField, RadioCheckField, etc benötigt wird:

form.GetAppearanceStates("language"); 
+0

Dies ist, was ich brauchte, danke. –