Attach (recommended) or Link to PDF file here:
[backgroundimage_not_visible_anonymisiert.pdf](https://github.com/mozilla/pdf.js/files/6544725/backgroundimage_not_visible_anonymisiert.pdf)


Configuration:
- Web browser and its version: Chrome Version 90.0.4430.212 (Offizieller Build) (x86_64)
- Operating system and its version: Windows 10, MacOs BigSur
- PDF.js version: 2.5.207
- Is a browser extension: no

Steps to reproduce the problem:
1. open the document in demo viewer.js
2.

What is the expected behavior? (add screenshot)
The backgroundimage gets rendered like in Acrobat Reader
<img width="1348" alt="Bildschirmfoto 2021-05-26 um 09 44 21" src="https://user-images.githubusercontent.com/1286150/119621970-00a82480-be07-11eb-8fed-f74ac04b840b.png">

What went wrong? (add screenshot)
Backgroundimage is not rendered only some  text
<img width="987" alt="Bildschirmfoto 2021-05-26 um 09 43 57" src="https://user-images.githubusercontent.com/1286150/119621938-fab24380-be06-11eb-92ac-4ecb2c9334b1.png">




Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

if (isNum(glyph)) {
          spacingLength = (spacingDir * glyph * fontSize) / 1000;
          this.ctx.translate(spacingLength, 0);
          current.x += spacingLength * textHScale;
          continue;
        }
        const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
        const operatorList = font.charProcOperatorList[glyph.operatorListId];
        if (!operatorList) {
          warn(`Type3 character "${glyph.operatorListId}" is not available.`);
          continue;
        }
        if (this.contentVisible) {
          this.processingType3 = glyph;
          this.save();
          ctx.scale(fontSize, fontSize);
          ctx.transform.apply(ctx, fontMatrix);
          this.executeOperatorList(operatorList);
          this.restore();
        }
        const transformed = Util.applyTransform([glyph.width, 0], fontMatrix);
        width = transformed[0] * fontSize + spacing;
        ctx.translate(width, 0);
        current.x += width * textHScale;
      }
      ctx.restore();
      this.processingType3 = null;
    }
    
    setCharWidth(xWidth, yWidth) {