I'm trying to print a php generated document in Chrome. On the browser it looks fine, but my printer will not print any coloured backgrounds. I know that IE has an option to print background but Chrome does not.

As the end user will print this off, I do not want to find alternatives like a screen grab or save file etc. I want to find a real solution to this.

Here is the page i want to print, for information

Can anyone offer a suggestion please?

link|improve this question
feedback

4 Answers

There's a long long two years old thread at Chrome support, full of users complaining exactly how ludicrous is the lack of so basic function, as background printing, in Chrome.

http://www.google.com/support/forum/p/Chrome/thread?tid=17a4ac343580c8d3&hl=en

TWO Years!

My advice is to use Firefox or Opera until we get heard at Google.

link|improve this answer
basic sure, popular, no. – Jody Mar 18 '11 at 13:00
feedback

Instead of printing it directly from the browser, try taking a screen shot and printing it from an image editor.

link|improve this answer
Doesn't work if it's more than one screen long. Also, most designers will set different styles for screen and print using the media attribute of the style tag: fonts that work better in each media, maybe removing images or ads from the printed version, etc. Printing from a screenshot defeats this effort. – Nathan Long Oct 31 '11 at 13:58
feedback

Considering that it seems to me that the OP was "CREATING" the page, this belongs to stackoverflow rather then SuperUser.

In any case, the good solution is... NOT to use background-color and background-image! ...also because Chrome is still not supporting printing them (Jan 2012!), and even with other browsers the user have to go through printing options...

If you are creating the page it's reasonable. See for instance: http://stackoverflow.com/a/2966004/422670

I use something like:

<div class='container'>
    <img src='background-image or color' class='background'/>
    normal stuff as it should be
</div>

then in css:

img.background {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

of course you can then adapt the css and the classes to your use

link|improve this answer
feedback

Use Internet Explorer as this option is not in Chrome. Go to file - page setup - print background colors and images and check it.

Or, in IE, go to tools - internet options - advanced - printing - print background colors and images

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.