CCITTFaxStream problem when EndOfBlock is false

This commit is contained in:
Jani Pehkonen 2017-09-19 22:19:40 +03:00
parent 9c2e9dae26
commit 3d99b8d706
4 changed files with 13 additions and 2 deletions

View File

@ -1787,6 +1787,7 @@ var CCITTFaxStream = (function CCITTFaxStreamClosure() {
this.inputBits = 0;
this.inputBuf = 0;
this.outputBits = 0;
this.rowsDone = false;
var code1;
while ((code1 = this.lookBits(12)) === 0) {
@ -1872,6 +1873,9 @@ var CCITTFaxStream = (function CCITTFaxStreamClosure() {
var refPos, blackPixels, bits, i;
if (this.outputBits === 0) {
if (this.rowsDone) {
this.eof = true;
}
if (this.eof) {
return null;
}
@ -2052,7 +2056,7 @@ var CCITTFaxStream = (function CCITTFaxStreamClosure() {
}
if (!this.eoblock && this.row === this.rows - 1) {
this.eof = true;
this.rowsDone = true;
} else {
code1 = this.lookBits(12);
if (this.eoline) {
@ -2074,7 +2078,7 @@ var CCITTFaxStream = (function CCITTFaxStreamClosure() {
}
}
if (!this.eof && this.encoding > 0) {
if (!this.eof && this.encoding > 0 && !this.rowsDone) {
this.nextLine2D = !this.lookBits(1);
this.eatBits(1);
}

View File

@ -297,3 +297,4 @@
!issue8097_reduced.pdf
!transparent.pdf
!xobject-image.pdf
!ccitt_EndOfBlock_false.pdf

Binary file not shown.

View File

@ -3693,5 +3693,11 @@
"rounds": 1,
"link": true,
"type": "eq"
},
{ "id": "ccitt_EndOfBlock_false",
"file": "pdfs/ccitt_EndOfBlock_false.pdf",
"md5": "ce718efe601cd7491dd00651b4790329",
"rounds": 1,
"type": "eq"
}
]