I'm sorry if it's a duplicate, I found lots of issues with gradients but none of the open ones looks similar.
It's apparently the PDF code `/Matrix [440 0 0 -200 20 220]` (line 44 in both files) that causes the problem.

**Configuration:**
- Web browser and its version: Chrome 54
- Operating system and its version: Windows 10
- PDF.js version: 1.6.343

**Steps to reproduce the problem:**
Open attached files:
[radial.pdf](https://github.com/mozilla/pdf.js/files/610302/radial.pdf)
[linear.pdf](https://github.com/mozilla/pdf.js/files/610300/linear.pdf)

**What is the expected behavior?** (Adobe Reader 11)
![image](https://cloud.githubusercontent.com/assets/17966696/20583379/fa80d780-b1f1-11e6-85d2-62dd6970a08c.png)

**What went wrong?** (mozilla.github.io/pdf.js/web/viewer.html)
Gradients aren't correctly transformed
![image](https://cloud.githubusercontent.com/assets/17966696/20583361/cf5bb8a4-b1f1-11e6-9479-9cc606b41187.png)

for (i = 0; i < totalChunks; i++) {
        thisChunkHeight =
          i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
        destPos = 0;
        for (j = 0; j < thisChunkHeight; j++) {
          const srcDiff = srcLength - srcPos;
          let k = 0;
          const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
          const kEndUnrolled = kEnd & ~7;
          let mask = 0;
          let srcByte = 0;
          for (; k < kEndUnrolled; k += 8) {
            srcByte = src[srcPos++];
            dest32[destPos++] = srcByte & 128 ? white : black;
            dest32[destPos++] = srcByte & 64 ? white : black;
            dest32[destPos++] = srcByte & 32 ? white : black;
            dest32[destPos++] = srcByte & 16 ? white : black;
            dest32[destPos++] = srcByte & 8 ? white : black;
            dest32[destPos++] = srcByte & 4 ? white : black;
            dest32[destPos++] = srcByte & 2 ? white : black;
            dest32[destPos++] = srcByte & 1 ? white : black;
          }
          for (; k < kEnd; k++) {
            if (mask === 0) {
              srcByte = src[srcPos++];
              mask = 128;
            }
            dest32[destPos++] = srcByte & mask ? white : black;
            mask >>= 1;
          }