Вы вводите в заблуждение концепцию аннотации (аннотацию ссылки, аннотацию прикрепления файла, аннотацию виджета ...) и поле формы (текстовое поле, поле выбора, поле кнопки, поле подписи).
В iText 5 аннотации обрабатываются в классе с именем PdfAnnotation
; поля формы обрабатываются в классе с именем PdfFormField
. Вы пытаетесь сделать что-то конкретное для PdfFormField
, используя класс PdfAnnotation
. Это неверно.
Я понимаю корень путаницы: каждый видимого поля формы соответствует по крайней мере один виджетам аннотации. Большинство полей формы видны соответствуют ровно один аннотация виджета. Вот почему мы сделали дизайн в iText 5, чтобы PdfFormField
расширяет PdfAnnotation
.
Этот вариант дизайна соответствует спецификации PDF, где говорится, что полевые словари полей, которые соответствуют одной аннотации виджета, могут быть объединены в один словарь PDF.
На практике вы найдете PDF-словари в формате PDF, которые объединяют записи, типичные для словаря аннотаций виджета и полевого словаря. (Это также объясняет, почему в iText существует метод getMerged()
: этот метод дает вам объединенные словарные объекты.)
Надеюсь, это уже объясняет часть вашей проблемы. У вас тоже есть другая проблема, но я не понимаю, что вы хотите сделать. Просьба пояснить, используя ссылки на ISO-32000-1, чтобы люди могли понять, какую техническую функцию вы пытаетесь реализовать.
Привет, Бруно, спасибо за разъяснение. Когда я создал флажки с помощью RadioCheckField, я не мог найти имя поля в словаре аннотации, но я смог найти его в AcroFields. Кажется, я нашел то, что искал. спасибо – chitgoks