iTextSharp проверить тип аннотации - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь извлечь аннотации из PDF-файлов. В настоящее время я могу читать все аннотации, используя этот код.

    Dim reader As PdfReader = New PdfReader("MyPDF.pdf")

    For i As Integer = 1 To reader.NumberOfPages
        Dim array As PdfArray = reader.GetPageN(i).GetAsArray(PdfName.ANNOTS)
        If array Is Nothing Then Continue For

        For j As Integer = 0 To array.Size - 1
            Dim annot As PdfDictionary = array.GetAsDict(j)
            Dim name As PdfString = annot.GetAsString(PdfName.T)
            Dim text As PdfString = annot.GetAsString(PdfName.CONTENTS)
        Next
    Next

Теперь я хотел бы проверить тип аннотации, чтобы я мог зачеркнуть не столь важные для меня, например. формы;

  • Sticky Note
  • выделение текста
  • Подчеркивание текста
  • Зачеркнутый текст
  • Line
  • Arrow
  • ....

Но я не могу найти образцы по этому вопросу. Я попытался найти документацию, но снова не смог понять.

Как мне поступить?

1 Ответ

0 голосов
/ 12 января 2019

Я пытался найти документацию, но снова не понимаю

Поскольку вы получаете доступ к аннотациям с использованием API-интерфейса itext с очень низким уровнем, вы довольно близки к самому содержимому pdf. Таким образом, документация для поиска в этом контексте - это спецификация pdf ISO 32000.

Adobe опубликовала на своих веб-страницах более старую версию ISO 32000-1:

https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf

В разделе 12.5 «Аннотации» вы найдете много информации об аннотациях. В частности, тип аннотации, описываемый словарем аннотации, задается как значение Подтип . Значение подтипа для указанных типов аннотаций можно найти в подразделе, посвященном рассматриваемому типу аннотаций.

...