diff --git a/pdf.js b/pdf.js index 96dc518b5..0d377d139 100644 --- a/pdf.js +++ b/pdf.js @@ -1904,6 +1904,21 @@ var CanvasGraphics = (function() { if (!IsBool(imageMask)) imageMask = false; + // JPX/JPEG2000 streams directly contain bits per component + // and color space mode information. + var bitsPerComponent = image.bitsPerComponent; + var csMode = image.csMode; + + if (!bitsPerComponent) { + bitsPerComponent = dict.get("BitsPerComponent") || dict.get("BPC"); + if (!bitsPerComponent) { + if (imageMask) + bitsPerComponent = 1; + else + error("Bits per component missing in image"); + } + } + var tmpCanvas = document.createElement("canvas"); tmpCanvas.width = w; tmpCanvas.height = h;