如何用背景图片打印网页?

时间:2011-02-21 10:37:46

标签: javascript css browser printing

我正在尝试使用背景图片在IE中打印网页表单;现在问题是它没有在其打印中显示背景图像。有没有办法解决它,因为我尝试了很多技巧,但没有一个实际工作。如果你们中的任何一个人修好了请分享。

7 个答案:

答案 0 :(得分:3)

这适用于可能会花费大量时间打印css背景图像的人。 这可能不是100%有效,但你可以从这里选择。

解决方案:不可能(如果UI中存在重叠图像)

 $('#rootdiv').find('div').each(function(){
    if( $(this).css("background-image") !=  "none"){

        $(this).css("overflow" ,"hidden").css("position", "relative");
        $(this).prepend('<img style="display: block;position: absolute;" src="'+$(this).css("background-image").replace(/"/g,"").replace(/url\(|\)$/ig, "")+'">');

        $(this).css("background",'..');

    }
 });

PS:要在页面上打印半图像,我们需要设置div的宽度(即$(this))小于background-image的实际宽度(由动态创建的img标签中的src指定) ),它将显示切片图像

答案 1 :(得分:2)

以下是两篇非常好的帖子,之前在stackoverflow中被问到:

Print webpage with background images and colors?

https://stackoverflow.com/questions/596876/how-can-i-print-background-images-in-ff-or-ie

他们都引用列表样式用法。

答案 2 :(得分:1)

转到工具&gt;在Internet选项中,单击“高级”选项卡。向下滚动到名为“打印”的标题,选中“打印背景颜色和图像”。

此说明适用于IE 8.0,但旧版本应该有些相同。

默认情况下,这是默认的,因为不是每个人都想要打印花哨的东西而只打印文本..但是现在,在打印中想要一切都很常见!

答案 3 :(得分:0)

查看这篇文章:

http://webdesign.about.com/cs/css/a/aa042103a.htm

我用它来制作自定义打印页面,与屏幕上的不同。

答案 4 :(得分:0)

如果只是背景图片,您可以尝试右键单击背景,然后选择“显示背景图像”。

但是,如果您想要整个网页,您可以随时尝试“打印屏幕”并在绘画中打开新制作的位图并打印出来。

答案 5 :(得分:0)

默认情况下,IE不会打印背景图像和颜色 - 这是一个浏览器设置,可以节省墨水/提高打印输出的清晰度。

除了告诉用户更改此设置外,您唯一能做的就是使用真实图片元素而不是背景图片,并使用CSS将文本放在前面。

为什么需要背景图像打印出来?如果是因为背景图像很暗并且前面的文字很浅(因此在打印时不可读),那么你可以做的是只有一个打印样式表来设置较暗的文本。

答案 6 :(得分:-1)

首次点击谷歌: http://www.steve.maurer.net/tutorials/software_tutorials/background_print_id.htm

刚检查过,该选项仍在IE8中。

默认设置是不打印背景颜色和图像,可能是为了节省墨水。