Можно ли получить автор бесплатной текстовой аннотации с помощью iText?Как получить автору аннотации PDF
Я имею TYPE и содержание, но может видеть ни в коем случае, чтобы получить автор
Можно ли получить автор бесплатной текстовой аннотации с помощью iText?Как получить автору аннотации PDF
Я имею TYPE и содержание, но может видеть ни в коем случае, чтобы получить автор
В то время как вы можете указать дополнительные ключи в словаре, который, как правило, игнорировались, там нет ключа «Автор» в аннотацию или Аннотации FreeText в спецификации.
Таким образом, вы не можете получить автора аннотации FreeText, потому что его обычно не составляют часть аннотации.
Обратитесь к таблице ISO-32000-1 170 «Дополнительные записи, относящиеся к аннотации разметки». Он определяет ключ с именем /T
, который описывается как необязательная текстовая строка , что будет отображаться в строке заголовка всплывающего окна аннотации при открытии и действии. В этой записи должен быть указан пользователь, добавивший аннотацию.
KenS является правильным в том смысле, что запрашиваемая вами ценность недоступна для каждого типа аннотаций, но если автор присутствует, вы найдете его в записи /T
.
Так что, когда у вас есть это в Adobe Acrobat:
Вы найдете это внутри PDF:
у вас уже есть запись /Contents
и /Type
, теперь вы также должны искать запись /T
. Если он отсутствует, автор аннотации не может быть восстановлен.
Вот некоторые примеры того, как получить конкретные ключи от аннотаций:
Я добавляю эти ссылки только для полноты, я думаю, вы уже знаете концепцию:
PdfDictionary annotDict = annots.getAsDict(i);
PdfName author = annotDict.getAsString(PdfName.T);
Если author
является null
, автор не может быть восстановлена.
Пожалуйста, используйте клавишу T, как так
PdfString Author = annot.GetAsString(PdfName.T);
Это ответ Бруно, сгоревший на его основной совет. – mkl
спасибо .. как всегда ваше детальное знание показывает, что это стоит. Я прочитал таблицы из 171, так что пропустил то, что теперь ясно, как ослепительно очевидное. –