Fix for malformed PDFs.

pull/1/head
Yusuke Shinyama 2013-11-26 21:27:45 +09:00
parent bb6f9b6fc9
commit b589da51b7
2 changed files with 11 additions and 2 deletions

View File

@ -190,6 +190,7 @@ class PDFXRefFallback(PDFXRef):
objs.append(obj) objs.append(obj)
except PSEOF: except PSEOF:
pass pass
n = min(n, len(objs)/2)
for index in xrange(n): for index in xrange(n):
objid1 = objs[index*2] objid1 = objs[index*2]
self.offsets[objid1] = (objid, index, 0) self.offsets[objid1] = (objid, index, 0)

View File

@ -554,12 +554,20 @@ class PDFPageInterpreter(object):
# setcolorspace-stroking # setcolorspace-stroking
def do_CS(self, name): def do_CS(self, name):
self.scs = self.csmap[literal_name(name)] try:
self.scs = self.csmap[literal_name(name)]
except KeyError:
if STRICT:
raise PDFInterpreterError('Undefined ColorSpace: %r' % name)
return return
# setcolorspace-non-strokine # setcolorspace-non-strokine
def do_cs(self, name): def do_cs(self, name):
self.ncs = self.csmap[literal_name(name)] try:
self.ncs = self.csmap[literal_name(name)]
except KeyError:
if STRICT:
raise PDFInterpreterError('Undefined ColorSpace: %r' % name)
return return
# setgray-stroking # setgray-stroking