view pdfCrawl.py @ 59:c22f83e049a9 simple

check0 works for nono10, but is broken in that col 3 w/o the row 7 hit would find the row 3 hit as satisfying the last (2nd) run, which isn't _necessarily_ correct
author Henry Thompson <ht@markup.co.uk>
date Sat, 03 Jun 2023 22:11:12 +0100
parents 2d7c91f89f6b
children
line wrap: on
line source

import PyPDF2 as pyPdf, sys

f = open(sys.argv[1],'rb')

pdf = pyPdf.PdfFileReader(f)
pgs = pdf.getNumPages()
key = '/Annots'
uri = '/URI'
ank = '/A'

#print pdf.getNamedDestinations()

for pg in range(pgs):
    print '#',pg
    p = pdf.getPage(pg)
    o = p.getObject()
    print o
    if o.has_key(key):
        ann = o[key]
        print key,len(ann),ann
        i=0
        for a in ann:
            u = a.getObject()
            if u[ank].has_key(uri):
                try:
                    print i,u[ank][uri]
                except UnicodeEncodeError:
                    print i,map(ord,u[ank][uri])
            i+=1