diff --git a/src/obj.js b/src/obj.js index a106896e5..21204ef42 100644 --- a/src/obj.js +++ b/src/obj.js @@ -587,6 +587,12 @@ var XRef = (function XRefClosure() { delete tableState.entryCount; } + // Per issue 3248: hp scanners generate bad XRef + if (first === 1 && this.entries[1] && this.entries[1].free) { + // shifting the entries + this.entries.shift(); + } + // Sanity check: as per spec, first object must be free if (this.entries[0] && !this.entries[0].free) error('Invalid XRef table: unexpected first object');