【发布时间】:2018-10-19 19:19:13
【问题描述】:
popplerqt5 是一个用于 python 的 pdf 渲染库。
Annotation 是这个库中的一个抽象类。它有很多子类,比如 LinkAnnotation。如何从 Annotation 对象中知道子类?
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。
【问题讨论】:
-
如果你的错误是
LinkAnnotation没有定义,那么问题是,你为什么期望它是?那个类是什么,它来自哪里?你正确导入了吗?也许您只需要在其名称前加上其模块或包(即if isinstance(annotation, somemodule.LinkAnnotation):)
标签: python python-3.x pyqt pyqt5 poppler