* Normal parsing path.
()
| 176 | * Normal parsing path. |
| 177 | */ |
| 178 | private parseNormal(): ParsedDocument { |
| 179 | // Phase 1: Parse header |
| 180 | const version = this.parseHeader(); |
| 181 | |
| 182 | // Phase 2: Find startxref |
| 183 | const xrefParser = new XRefParser(this.scanner); |
| 184 | |
| 185 | const startXRef = xrefParser.findStartXRef(); |
| 186 | |
| 187 | // Phase 3: Parse XRef chain (follow /Prev) |
| 188 | const { xref, trailer } = this.parseXRefChain(xrefParser, startXRef); |
| 189 | |
| 190 | // Phase 4: Build document with lazy object loading |
| 191 | return this.buildDocument(version, xref, trailer, false); |
| 192 | } |
| 193 | |
| 194 | /** |
| 195 | * Recovery parsing using brute-force when normal parsing fails. |
no test coverage detected