diff --git a/src/core/parser.js b/src/core/parser.js index 1ffe89305..8b83c5da4 100644 --- a/src/core/parser.js +++ b/src/core/parser.js @@ -346,6 +346,9 @@ var Parser = (function ParserClosure() { return new NullStream(stream); } try { + if (params) { + params = this.fetchIfRef(params); + } var xrefStreamStats = this.xref.stats.streamTypes; if (name === 'FlateDecode' || name === 'Fl') { xrefStreamStats[StreamType.FLATE] = true; @@ -386,7 +389,6 @@ var Parser = (function ParserClosure() { } if (name === 'CCITTFaxDecode' || name === 'CCF') { xrefStreamStats[StreamType.CCF] = true; - params = this.fetchIfRef(params); return new CCITTFaxStream(stream, maybeLength, params); } if (name === 'RunLengthDecode' || name === 'RL') { diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 04c618195..02a8c23ea 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -18,6 +18,7 @@ !sizes.pdf !close-path-bug.pdf !issue4630.pdf +!issue5280.pdf !alphatrans.pdf !devicen.pdf !cmykjpeg.pdf diff --git a/test/pdfs/issue5280.pdf b/test/pdfs/issue5280.pdf new file mode 100644 index 000000000..53073d5ce Binary files /dev/null and b/test/pdfs/issue5280.pdf differ diff --git a/test/test_manifest.json b/test/test_manifest.json index fb0c82f72..db34996b4 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -1527,6 +1527,14 @@ "type": "eq", "about": "True type font with encoding dict with no base encoding but with differences." }, + { "id": "issue5280", + "file": "pdfs/issue5280.pdf", + "md5": "0ea1230e2964e74cb6db063a89b78803", + "rounds": 1, + "link": false, + "type": "eq", + "about": "DecodeParams can be an indirect object" + }, { "id": "bug878194", "file": "pdfs/bug878194.pdf", "md5": "c616b21fd2a1a65acc2de0f41e59a8b5",