小编tor*_*tov的帖子

从PDF文件中突出显示的注释中提取文本

从昨天开始,我正在尝试使用python-poppler-qt4从一个pdf中的一些突出显示的注释中提取文本.

根据这个文档,看起来我必须使用Page.text()方法获取文本,从高亮注释传递一个Rectangle参数,我使用Annotation.boundary().但我只得到空白文本.有人能帮我吗?我复制了下面的代码,并为我正在使用的PDF添加了一个链接.谢谢你的帮助!

import popplerqt4
import sys
import PyQt4


def main():

    doc = popplerqt4.Poppler.Document.load(sys.argv[1])
    total_annotations = 0
    for i in range(doc.numPages()):
        page = doc.page(i)
        annotations = page.annotations()
        if len(annotations) > 0:
            for annotation in annotations:
                if  isinstance(annotation, popplerqt4.Poppler.Annotation):
                    total_annotations += 1
                    if(isinstance(annotation, popplerqt4.Poppler.HighlightAnnotation)):
                        print str(page.text(annotation.boundary()))
    if total_annotations > 0:
        print str(total_annotations) + " annotation(s) found"
    else:
        print "no annotations found"

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

测试pdf:https: //www.dropbox.com/s/10plnj67k9xd1ot/test.pdf

python pdf qt poppler

3
推荐指数
1
解决办法
2988
查看次数

标签 统计

pdf ×1

poppler ×1

python ×1

qt ×1