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

This commit is contained in:
benbro 2012-07-13 17:41:20 +03:00
parent c757eedc49
commit 9de94991e9

View File

@ -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);