parser content streams
This commit is contained in:
parent
2326832f49
commit
52d8555c17
18
pdf.js
18
pdf.js
@ -1146,7 +1146,7 @@ var Lexer = (function() {
|
|||||||
},
|
},
|
||||||
getString: function(ch) {
|
getString: function(ch) {
|
||||||
var n = 0;
|
var n = 0;
|
||||||
var numParent = 1;
|
var numParen = 1;
|
||||||
var done = false;
|
var done = false;
|
||||||
var str = ch;
|
var str = ch;
|
||||||
var stream = this.stream;
|
var stream = this.stream;
|
||||||
@ -1198,7 +1198,7 @@ var Lexer = (function() {
|
|||||||
var x = ch - '0';
|
var x = ch - '0';
|
||||||
ch = stream.lookChar();
|
ch = stream.lookChar();
|
||||||
if (ch >= '0' && ch <= '7') {
|
if (ch >= '0' && ch <= '7') {
|
||||||
this.skip();
|
stream.skip();
|
||||||
x = (x << 3) + (x - '0');
|
x = (x << 3) + (x - '0');
|
||||||
ch = stream.lookChar();
|
ch = stream.lookChar();
|
||||||
if (ch >= '0' && ch <= '7') {
|
if (ch >= '0' && ch <= '7') {
|
||||||
@ -1784,9 +1784,17 @@ var Page = (function() {
|
|||||||
var obj = this.pageDict.get("Contents");
|
var obj = this.pageDict.get("Contents");
|
||||||
if (IsRef(obj))
|
if (IsRef(obj))
|
||||||
obj = this.xref.fetch(obj);
|
obj = this.xref.fetch(obj);
|
||||||
if (!(IsArray(obj) || IsStream(obj)))
|
if (!IsStream(obj))
|
||||||
error("invalid page contents object");
|
error("invalid page contents object");
|
||||||
return this.contents = obj;
|
return this.contents = obj;
|
||||||
|
},
|
||||||
|
display: function() {
|
||||||
|
var stream = this.contents;
|
||||||
|
var parser = new Parser(new Lexer(stream), false);
|
||||||
|
var obj;
|
||||||
|
while (!IsEOF(obj = parser.getObj())) {
|
||||||
|
print(uneval(obj));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2752,9 +2760,7 @@ function runParseTests() {
|
|||||||
var data = snarf("/tmp/paper.pdf", "binary");
|
var data = snarf("/tmp/paper.pdf", "binary");
|
||||||
var pdf = new PDFDoc(new Stream(data));
|
var pdf = new PDFDoc(new Stream(data));
|
||||||
var page = pdf.getPage(1);
|
var page = pdf.getPage(1);
|
||||||
var contents = page.contents;
|
page.display();
|
||||||
for (var i = 0; i < 100; ++i)
|
|
||||||
print(contents.getChar());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("arguments" in this) {
|
if ("arguments" in this) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user