Browse Source

Rethrow MissingDataException when needed

In core/document.js: `PDFDocument.prototype.parse` accesses a dictionary
property, which could throw if the underlying data is not yet available.

In core/obj.js: `get Catalog.prototype.metadata` calls
`stream.getBytes`, which can throw MissingDataException too when the
stream is a ChunkedStream.
Rob Wu 8 years ago
parent
commit
49af56f730
  1. 3
      src/core/document.js
  2. 3
      src/core/obj.js

3
src/core/document.js

@ -467,6 +467,9 @@ var PDFDocument = (function PDFDocumentClosure() { @@ -467,6 +467,9 @@ var PDFDocument = (function PDFDocumentClosure() {
}
}
} catch (ex) {
if (ex instanceof MissingDataException) {
throw ex;
}
info('Something wrong with AcroForm entry');
this.acroForm = null;
}

3
src/core/obj.js

@ -104,6 +104,9 @@ var Catalog = (function CatalogClosure() { @@ -104,6 +104,9 @@ var Catalog = (function CatalogClosure() {
try {
metadata = stringToUTF8String(bytesToString(stream.getBytes()));
} catch (e) {
if (e instanceof MissingDataException) {
throw e;
}
info('Skipping invalid metadata.');
}
}

Loading…
Cancel
Save