Sie verwechseln das Konzept einer Annotation (Link-Annotation, Dateianhang-Annotation, Widget-Annotation, ...) und ein Formularfeld (Textfeld, Auswahlfeld, Schaltflächenfeld, Unterschriftsfeld).
In iText 5 werden Anmerkungen in einer Klasse mit dem Namen PdfAnnotation
behandelt; Formularfelder werden in einer Klasse namens PdfFormField
behandelt. Sie versuchen, etwas zu tun, das für eine PdfFormField
mit der Klasse PdfAnnotation
spezifisch ist. Das ist falsch.
Ich verstehe die Wurzel der Verwirrung: jedes sichtbaren Formularfeld entspricht mindestens ein Widget Annotation. Die meisten sichtbaren Formularfelder entsprechen genau eine Widget Annotation. Aus diesem Grund haben wir eine Design-Wahl in iText 5 gemacht, um PdfFormField
erweitert PdfAnnotation
zu haben.
Diese Designauswahl stimmt mit der PDF-Spezifikation überein, wo Feldwörterbücher für Felder, die einer einzelnen Widget-Annotation entsprechen, in ein einziges PDF-Wörterbuch zusammengeführt werden können.
In der Praxis finden Sie PDF-Wörterbücher in einer PDF-Datei, die typische Einträge für ein Widget Annotation Dictionary und ein Field Dictionary kombinieren. (Das erklärt auch, warum es eine getMerged()
Methode in iText gibt: diese Methode holt Sie die zusammengeführten Wörterbuchobjekte.)
Ich hoffe, dies erklärt bereits einen Teil Ihres Problems. Sie scheinen auch ein anderes Problem zu haben, aber ich verstehe nicht, was Sie tun wollen. Bitte erläutern Sie die Verwendung von Verweisen auf ISO-32000-1, damit die Benutzer verstehen können, welches technische Feature Sie implementieren möchten.
Hallo Bruno, danke für die Klarstellung. Wenn ich Kontrollkästchen mit RadioCheckField erstellte, konnte ich den Feldnamen im Wörterbuch der Anmerkung nicht finden, aber ich konnte es in den AcroFields finden. Ich glaube, ich habe gefunden, wonach ich suche. Vielen Dank – chitgoks