Как я могу проверить тип аннотации в popplerqt5? - PullRequest
0 голосов
/ 19 октября 2018

popplerqt5 - это библиотека рендеринга в формате pdf для python.

Аннотация - это абстрактный класс из этой библиотеки.У него есть много подклассов, таких как LinkAnnotation.Как я могу узнать подкласс от объекта аннотации?

import popplerqt5 as poppler
import PyQt5
import PyQt5.QtXml

def main():

    file = 'file.pdf'

    doc = poppler.Poppler.Document.load(file)

    annotations     = doc.page(1).annotations()

    for annotation in annotations:
        print (annotation)
        # if isinstance(annotation, poppler.LinkAnnotation):
            # print ("Link")

if __name__ == "__main__":
    main()

Это не работает, LinkAnnotation не определено.Я использую Python 3.

1 Ответ

0 голосов
/ 19 октября 2018

Вы должны использовать poppler.Poppler.LinkAnnotation:

import popplerqt5 as poppler

def main():
    file = 'test.pdf'
    doc = poppler.Poppler.Document.load(file)
    annotations     = doc.page(2).annotations()
    for annotation in annotations:
        if isinstance(annotation, poppler.Poppler.LinkAnnotation):
            print ("Link")

if __name__ == "__main__":
    main()
...