|
|
@ -113,24 +113,19 @@ var Catalog = (function CatalogClosure() { |
|
|
|
Catalog.prototype = { |
|
|
|
Catalog.prototype = { |
|
|
|
get metadata() { |
|
|
|
get metadata() { |
|
|
|
var ref = this.catDict.get('Metadata'); |
|
|
|
var ref = this.catDict.get('Metadata'); |
|
|
|
if (!ref) { |
|
|
|
var stream = this.xref.fetchIfRef(ref); |
|
|
|
return null; |
|
|
|
var metadata; |
|
|
|
} |
|
|
|
if (stream && isDict(stream.dict)) { |
|
|
|
|
|
|
|
var type = stream.dict.get('Type'); |
|
|
|
var stream = this.xref.fetch(ref); |
|
|
|
var subtype = stream.dict.get('Subtype'); |
|
|
|
var dict = stream.dict; |
|
|
|
|
|
|
|
if (isDict(dict)) { |
|
|
|
|
|
|
|
var type = dict.get('Type'); |
|
|
|
|
|
|
|
var subtype = dict.get('Subtype'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isName(type) && isName(subtype) && |
|
|
|
if (isName(type) && isName(subtype) && |
|
|
|
type.name === 'Metadata' && subtype.name === 'XML') { |
|
|
|
type.name === 'Metadata' && subtype.name === 'XML') { |
|
|
|
var metadata = stringToPDFString(bytesToString(stream.getBytes())); |
|
|
|
metadata = stringToPDFString(bytesToString(stream.getBytes())); |
|
|
|
return metadata; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
return shadow(this, 'metadata', metadata); |
|
|
|
}, |
|
|
|
}, |
|
|
|
get toplevelPagesDict() { |
|
|
|
get toplevelPagesDict() { |
|
|
|
var pagesObj = this.catDict.get('Pages'); |
|
|
|
var pagesObj = this.catDict.get('Pages'); |
|
|
|