mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-26 10:08:06 +02:00
Metadata parsing/serialization
This commit is contained in:
parent
32eb64389e
commit
20dd225e40
6 changed files with 113 additions and 1 deletions
21
src/obj.js
21
src/obj.js
|
@ -111,6 +111,27 @@ var Catalog = (function CatalogClosure() {
|
|||
}
|
||||
|
||||
Catalog.prototype = {
|
||||
get metadata() {
|
||||
var ref = this.catDict.get('Metadata');
|
||||
if (!ref) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var stream = this.xref.fetch(ref);
|
||||
var dict = stream.dict;
|
||||
if (isDict(dict)) {
|
||||
var type = dict.get('Type');
|
||||
var subtype = dict.get('Subtype');
|
||||
|
||||
if(isName(type) && isName(subtype) &&
|
||||
type.name === 'Metadata' && subtype.name === 'XML') {
|
||||
var metadata = stringToPDFString(bytesToString(stream.getbytes()));
|
||||
return metadata;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
get toplevelPagesDict() {
|
||||
var pagesObj = this.catDict.get('Pages');
|
||||
assertWellFormed(isRef(pagesObj), 'invalid top-level pages reference');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue