Я пытаюсь найти образец для чтения значения состояния аннотации. Например, аннотация помечена как принятая пользователем x. Я хочу прочитать, если аннотация, если она принята или нет, и кем.
Но я могу только найти образцы с выпиской принятого статуса.
Ссылка на образец
Вот мой код доступа к аннотациям
Public Sub GetComments()
Dim oComments As New PDFcomments
Dim reader As PdfReader = New PdfReader("MyPDF.pdf")
Dim pdfdocument As New PdfDocument(reader)
For i As Integer = 1 To pdfdocument.GetNumberOfPages
Dim pdfPage As PdfPage = pdfdocument.GetPage(i)
Dim oAnnotations As IList(Of Annot.PdfAnnotation) = pdfPage.GetAnnotations()
For Each oAnnotation As Annot.PdfAnnotation In oAnnotations
Dim oAnnotationSubType As PdfName = oAnnotation.GetSubtype
If oAnnotationSubType.ToString = "/FreeText" Then
Debug.Print(oAnnotation.GetTitle.ToString)
Debug.Print(oAnnotation.GetContents.ToString)
' Attempt to get the annotation status. but I am stuck here.
Dim oAnnot As PdfDictionary = oAnnotation.GetPdfObject()
Dim oAnnotState As PdfDictionary = oAnnot.GetAsDictionary(PdfName.State)
End If
Next
Next
End Sub
Редактировать: Я исследовал еще несколько вопросов и обнаружил, что мне нужно использовать значение IRT для получения родительской аннотации. Но как мне это сделать?
Dim oIRT As PdfDictionary = oAnnot.GetAsDictionary(PdfName.IRT)
Значение
{<> / C [1.0 1.0 1.0] / Содержание текста / CreationDate
D: 20190114130039 + 01'00 '/ DA 0,898 0,1333 0,2157 рг / Helv 20 Tf / DS
шрифт: Helvetica, без засечек 20.0pt; выравнивания текста: слева; цвет: # E52237 / F
4 / M D: 20190114130049 + 01'00 '/ NM 5bb8de62-845b-4bdf-9ec3-823aa555ee67
/ P 15 0 R / RC Текст
/ Rect [349,619 161,213 662,333 508,889] / Повернуть на 90 / Текстовое поле Subj
/ Подтип / FreeText / T JeEe / Тип / Аннот >>}