Browse Source

Catch errors when parsing the linearization header so we can display corrupted docs

benbro 13 years ago
parent
commit
9de94991e9
  1. 14
      src/core.js

14
src/core.js

@ -398,10 +398,16 @@ var PDFDocument = (function PDFDocumentClosure() { @@ -398,10 +398,16 @@ var PDFDocument = (function PDFDocumentClosure() {
get linearization() {
var length = this.stream.length;
var linearization = false;
if (length) {
linearization = new Linearization(this.stream);
if (linearization.length != length)
linearization = false;
try {
if (length) {
linearization = new Linearization(this.stream);
if (linearization.length != length)
linearization = false;
}
} catch (err) {
warn('since pdf is broken pdf.js is trying to recover it ' +
'by indexing the object; ' +
'the error in firebug shall have a different origin');
}
// shadow the prototype getter with a data property
return shadow(this, 'linearization', linearization);

Loading…
Cancel
Save