IE does not print background images and colors by default. There is a parameter that you can change to say print background images and web page colors. [File> Print Preview> Page Setup (Gear icon)].
I was in a similar situation, and I did not have control over the client browser settings. After trying many other ways, I ended up using the following logic: -
Added image (1px by 1px, white) with the absolute position at the top of 0 and left 0.
Set to display @media {.div {display: none} and the displayed block in @media print {.div {display: block}
The javaScript used to set the height (your width may also be required) of the image is exactly the same as the height of the div where the text was: $ ('# whiteBg'). height ($ ('. #content') height ());
HTML:
<body> <div id="wrapper"> <img scr="./img/white.png" id="whiteBg" /> <div id="content"> </div> </div> <div id="footer"> </div> </body>
CSS
@media screen {
JQuery
@('#whiteBg').height( $('#content')).height() );
I used this code to set the footer at the bottom of the last page of the printout. I had a footer on every page, and I had content (text), just like you did. I used a white background to hide the footer on all but the last page. HTML footer at the bottom of all HTML print pages in IE
source share