Print image backgrounds and colors from views and blocks
Sorry if I haven't understood correctly, but it sounds like you're asking why backgrounds aren't printed when 'Print Backgrounds' is off? 

That's a browser setting and is down to the user. If that option is disabled, background images and colours should not be printed as far as I'm aware. So what you're seeing is the correct/expected behaviour.

For webkit browsers you can try -webkit-print-color-adjust with the exact setting, i.e.

-webkit-print-color-adjust: exact;


That should force the background to be printed for the element regardless of the user's setting


  Background colors and images of the element to which this rule is applied are always printed, user's print settings are overridden.