Separated PDFXRefFallback.
parent
c926874d20
commit
658be970b8
|
@ -112,8 +112,26 @@ class PDFXRef(PDFBaseXRef):
|
||||||
self.trailer.update(dict_value(dic))
|
self.trailer.update(dict_value(dic))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def get_trailer(self):
|
||||||
|
return self.trailer
|
||||||
|
|
||||||
|
def get_objids(self):
|
||||||
|
return self.offsets.iterkeys()
|
||||||
|
|
||||||
|
def get_pos(self, objid):
|
||||||
|
try:
|
||||||
|
(genno, pos) = self.offsets[objid]
|
||||||
|
except KeyError:
|
||||||
|
raise
|
||||||
|
return (None, pos)
|
||||||
|
|
||||||
|
|
||||||
|
## PDFXRefFallback
|
||||||
|
##
|
||||||
|
class PDFXRefFallback(PDFXRef):
|
||||||
|
|
||||||
PDFOBJ_CUE = re.compile(r'^(\d+)\s+(\d+)\s+obj\b')
|
PDFOBJ_CUE = re.compile(r'^(\d+)\s+(\d+)\s+obj\b')
|
||||||
def load_fallback(self, parser, debug=0):
|
def load(self, parser, debug=0):
|
||||||
parser.seek(0)
|
parser.seek(0)
|
||||||
while 1:
|
while 1:
|
||||||
try:
|
try:
|
||||||
|
@ -132,19 +150,6 @@ class PDFXRef(PDFBaseXRef):
|
||||||
self.offsets[int(objid)] = (0, pos)
|
self.offsets[int(objid)] = (0, pos)
|
||||||
return
|
return
|
||||||
|
|
||||||
def get_trailer(self):
|
|
||||||
return self.trailer
|
|
||||||
|
|
||||||
def get_objids(self):
|
|
||||||
return self.offsets.iterkeys()
|
|
||||||
|
|
||||||
def get_pos(self, objid):
|
|
||||||
try:
|
|
||||||
(genno, pos) = self.offsets[objid]
|
|
||||||
except KeyError:
|
|
||||||
raise
|
|
||||||
return (None, pos)
|
|
||||||
|
|
||||||
|
|
||||||
## PDFXRefStream
|
## PDFXRefStream
|
||||||
##
|
##
|
||||||
|
@ -641,8 +646,8 @@ class PDFDocument(object):
|
||||||
xrefs = []
|
xrefs = []
|
||||||
parser.fallback = fallback
|
parser.fallback = fallback
|
||||||
if parser.fallback:
|
if parser.fallback:
|
||||||
xref = PDFXRef()
|
xref = PDFXRefFallback()
|
||||||
xref.load_fallback(parser)
|
xref.load(parser)
|
||||||
xrefs.append(xref)
|
xrefs.append(xref)
|
||||||
else:
|
else:
|
||||||
pos = self.find_xref(parser)
|
pos = self.find_xref(parser)
|
||||||
|
|
Loading…
Reference in New Issue