(self, parser, debug=0)
| 65 | return |
| 66 | |
| 67 | def load(self, parser, debug=0): |
| 68 | while 1: |
| 69 | try: |
| 70 | (pos, line) = parser.nextline() |
| 71 | if not line.strip(): continue |
| 72 | except PSEOF: |
| 73 | raise PDFNoValidXRef('Unexpected EOF - file corrupted?') |
| 74 | if not line: |
| 75 | raise PDFNoValidXRef('Premature eof: %r' % parser) |
| 76 | if line.startswith('trailer'): |
| 77 | parser.seek(pos) |
| 78 | break |
| 79 | f = line.strip().split(' ') |
| 80 | if len(f) != 2: |
| 81 | raise PDFNoValidXRef('Trailer not found: %r: line=%r' % (parser, line)) |
| 82 | try: |
| 83 | (start, nobjs) = map(long, f) |
| 84 | except ValueError: |
| 85 | raise PDFNoValidXRef('Invalid line: %r: line=%r' % (parser, line)) |
| 86 | for objid in xrange(start, start+nobjs): |
| 87 | try: |
| 88 | (_, line) = parser.nextline() |
| 89 | except PSEOF: |
| 90 | raise PDFNoValidXRef('Unexpected EOF - file corrupted?') |
| 91 | f = line.strip().split(' ') |
| 92 | if len(f) != 3: |
| 93 | raise PDFNoValidXRef('Invalid XRef format: %r, line=%r' % (parser, line)) |
| 94 | (pos, genno, use) = f |
| 95 | if use != 'n': continue |
| 96 | self.offsets[objid] = (int(genno), long(pos)) |
| 97 | if 1 <= debug: |
| 98 | print >>sys.stderr, 'xref objects:', self.offsets |
| 99 | self.load_trailer(parser) |
| 100 | return |
| 101 | |
| 102 | KEYWORD_TRAILER = KWD('trailer') |
| 103 | def load_trailer(self, parser): |
no test coverage detected