]> git.parisson.com Git - pdf.js.git/commitdiff
Set DeviceGray as initial value for color space
authorIonuț G. Stan <ionut.g.stan@gmail.com>
Thu, 27 Oct 2011 02:45:10 +0000 (05:45 +0300)
committerIonuț G. Stan <ionut.g.stan@gmail.com>
Thu, 27 Oct 2011 02:45:10 +0000 (05:45 +0300)
See the PDF reference, section 4.3 Graphics State, table 4.2, third row.

> The current color space in which color values are to be interpreted
> (see Section 4.5, “Color Spaces”). There are two separate color space
> parameters: one for stroking and one for all other painting opera-
> tions. Initial value: DeviceGray.

The problem before was that certain PDFs didn't explicitly set the
color space, so a call to `setFillColor` or `setStrokeColor` were failing
when the `getRgb` method was call, as the color space was null.

See source code of CanvasGraphics.prototype.setFillColor/setStrokeColor.

pdf.js

diff --git a/pdf.js b/pdf.js
index 43df4a16884b9ff48dbe2bb7d23a080abd8d7e92..cb3ca3dc5c64f71c1f669f5d4cb086c3b96cb7f2 100644 (file)
--- a/pdf.js
+++ b/pdf.js
@@ -5344,6 +5344,9 @@ var CanvasExtraState = (function canvasExtraState() {
     this.strokeColor = '#000000';
 
     this.old = old;
+
+    this.fillColorSpace = new DeviceGrayCS;
+    this.strokeColorSpace = new DeviceGrayCS;
   }
 
   constructor.prototype = {