表背景图像不显示在打印纸上

时间:2013-07-31 14:38:34

标签: html css django image printing

template.html

{% block css-custom %}
    <link rel="stylesheet"  type="text/css" media="print" href="{{ STATIC_URL }}style/print.css" />
    <link rel="stylesheet"  type="text/css" media="screen" href="{{ STATIC_URL }}style/print.css" />
{% endblock %}

{% block main-content %}
''''''''''''''
<table width="100%" border="0" class="printimg">

            <tr><td>some data</td></tr></table>
'''''''''''''''''
{% endblock %}

我想将上面的图像设置为表格的背景。如果我在标签中设置相同的图像,它就会显示,但作为背景它不会发生。作为HTML页面它正在工作,问题是用纸张打印。

在打印预览中,背景图像即将显示,但在纸上打印时,图像会消失。

编辑:

report.css

.printimg {
           background:url('/static/images/human.png');
           width:128px;
           height:293px;
           background-position:center;"
          }

/* media:screen */
@media screen {
.printimg img{
    visibility: hidden;
}
}

/* media:print */
@media print {
.printimg img{
    visibility: visible;
}
}

我试过这个css,问题仍然是他们的。

2 个答案:

答案 0 :(得分:6)

1.要在Chrome和Safari网络浏览器中启用后台打印,请添加

-webkit-print-color-adjust:exact;

在你的print.css文件中,rest all是相同的

2.在FireFox默认情况下"Print Background colours and images"在其打印设置中关闭no CSS will override that.

如果需要背景图片,用户应手动开启。

在FF中打开背景的步骤:

Go to File -->Page setup -->Formats & Options -->Tick Print background(images & colors)

希望这有帮助!

答案 1 :(得分:0)

这是一个浏览器设置,与Django没有任何关系。请参阅此主题How to forcefully print background image in HTML?