bugfix by Humberto Pereira
git-svn-id: https://pdfminerr.googlecode.com/svn/trunk/pdfminer@241 1aa58f4a-7d42-0410-adbc-911cccaed67cpull/1/head
parent
0944cfaded
commit
ca5588a702
|
@ -119,16 +119,18 @@ def dumpoutline(outfp, fname, objids, pagenos, password='',
|
||||||
for (level,title,dest,a,se) in outlines:
|
for (level,title,dest,a,se) in outlines:
|
||||||
pageno = None
|
pageno = None
|
||||||
if dest:
|
if dest:
|
||||||
dest = resolve1( doc.lookup_name('Dests', dest) )
|
dest = resolve1(doc.lookup_name('Dests', dest))
|
||||||
if isinstance(dest, dict):
|
if isinstance(dest, dict):
|
||||||
dest = dest['D']
|
dest = dest['D']
|
||||||
pageno = pages[dest[0].objid]
|
pageno = pages[dest[0].objid]
|
||||||
elif a:
|
elif a:
|
||||||
action = a.resolve()
|
action = a.resolve()
|
||||||
if isinstance(action, dict):
|
if isinstance(action, dict):
|
||||||
subtype = action.get('S')
|
subtype = action.get('S')
|
||||||
if subtype and repr(subtype) == '/GoTo' and action.get('D'):
|
if subtype and repr(subtype) == '/GoTo' and action.get('D'):
|
||||||
dest = action['D']
|
dest = action['D']
|
||||||
|
if isinstance(dest, str):
|
||||||
|
dest = resolve1(doc.lookup_name('Dests', dest))
|
||||||
pageno = pages[dest[0].objid]
|
pageno = pages[dest[0].objid]
|
||||||
s = e(title).encode('utf-8', 'xmlcharrefreplace')
|
s = e(title).encode('utf-8', 'xmlcharrefreplace')
|
||||||
outfp.write('<outline level="%r" title="%s">\n' % (level, s))
|
outfp.write('<outline level="%r" title="%s">\n' % (level, s))
|
||||||
|
|
Loading…
Reference in New Issue