Print image backgrounds and colors from views and blocks I have a problem printing background images and bgd colors in html in views and custom blocks. 
For example, when I add HTML code with CSS classes into a custom block (class has bgd image or bgd color style) it is shown on the html page in browser, but not in print preview (print backgrounds is off). Same thing is with the custom html code defined for view field (I created a link field and rewrite output)

Normally HTML code, defined out of blocks and views is, showing both bgd colors and images in print preview even if print background option is turned off in browser.
All CSS styles are defined in one file.

For some reason browser is not reading CSS styles within blocks and views.
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.