From 51b2587340ecab495bbcd1d3451805e34908c371 Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Mon, 20 Aug 2012 15:57:21 -0500 Subject: [PATCH] Copy decoded image data and keeps non-decoded pixes as transparent --- src/image.js | 6 +++++- test/pdfs/issue1658.pdf.link | 1 + test/test_manifest.json | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 test/pdfs/issue1658.pdf.link diff --git a/src/image.js b/src/image.js index 3495483e7..59f70f99a 100644 --- a/src/image.js +++ b/src/image.js @@ -347,6 +347,10 @@ var PDFImage = (function PDFImageClosure() { var rowBytes = (originalWidth * numComps * bpc + 7) >> 3; var imgArray = this.getImageBytes(originalHeight * rowBytes); + // imgArray can be incomplete (e.g. after CCITT fax encoding) + var actualHeight = 0 | (imgArray.length / rowBytes * + height / originalHeight); + var comps = this.colorSpace.getRgbBuffer( this.getComponents(imgArray), bpc); if (originalWidth != width || originalHeight != height) @@ -355,7 +359,7 @@ var PDFImage = (function PDFImageClosure() { var compsPos = 0; var opacity = this.getOpacity(width, height); var opacityPos = 0; - var length = width * height * 4; + var length = width * actualHeight * 4; for (var i = 0; i < length; i += 4) { buffer[i] = comps[compsPos++]; diff --git a/test/pdfs/issue1658.pdf.link b/test/pdfs/issue1658.pdf.link new file mode 100644 index 000000000..f77372073 --- /dev/null +++ b/test/pdfs/issue1658.pdf.link @@ -0,0 +1 @@ +https://www.ads.tuwien.ac.at/teaching/archiv/praktika/CherkasskyGoldberg-1995-MaxFlow.pdf \ No newline at end of file diff --git a/test/test_manifest.json b/test/test_manifest.json index 12761bd33..a80c7bb4f 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -539,6 +539,15 @@ "link": true, "type": "eq" }, + { "id": "issue1658", + "file": "pdfs/issue1658.pdf", + "md5": "b71a0f641e83ad427b8bcfc180899a05", + "rounds": 1, + "skipPages": [1, 2, 3, 4, 5, 6, 7, 8, 9], + "pageLimit": 10, + "link": true, + "type": "eq" + }, { "id": "issue1049", "file": "pdfs/issue1049.pdf", "md5": "15473fffcdde9fb8f3756a4cf1aab347",