2012-08-13 84 views
0

编辑:JavaScript打印()风格不一致

任何推荐的黑客?

我正在考虑在后端生成一个图像,然后在新窗口中打开该图像,然后打印出图像。


我被隐藏的其他元素通过

$(...).hide(); 

打印页面的部分,然后通过

window.print(); 

调用打印,但在所有浏览器我遇到一些风格不一致。具体来说,背景颜色消失。

普通网页视图:

enter image description here

打印预览:

enter image description here

相关的HTML(玉)如下:

amount-due.span2 
    dl 
    dt Amount Due 
    dd.align-right <%= RP.util.currency_to_symbol[invoice.currency.toLowerCase()] %> 
     <% if (invoice.state !== "paid") { %> 
     span <%= invoice.total_amount %> 
     <% } else { %> 
     span 0 
     <% } %> 

d.darken <%= RP.util.currency_to_symbol[invoice.currency.toLowerCase()] %><%= invoice.total_amount %> 

相关的CSS如下:

enter image description here

enter image description here

+1

某些浏览器具有打印设置, nd'样式以节省墨水使用量。它必须由用户手动更改。 – zzzzBov 2012-08-13 19:44:01

回答

3

我不知道,没有任何浏览器中,保存的缘故墨水/墨粉,关闭背景颜色和图像以进行打印。

一些提供用户偏好重新启用它。

设计你的样式表时,假设所有的背景都是白色的,并使用其他方式(如粗体文本)来突出特定位的内容。

+0

Argh,有没有办法解决这个问题,或者我应该在后端创建一个图像然后打印出来? – Max 2012-08-13 20:03:42

+0

我确定产品经理和图形设计师都非常想要颜色和背景色 – Max 2012-08-13 20:04:14

+0

如果需要精确打印,请使用PDF。浏览器的设计假定打印的目标是产生清晰可读的内容,而不是特定的图形设计。 – Quentin 2012-08-13 20:07:10

0

这是因为您的浏览器不打印背景。

如果你使用Firefox,你可以这样做:

文件>页面设置...>格式&选项>选项>打印背景(颜色&图片)

Firefox按钮>打印...>页面设置...>格式&选项>选项>打印背景(颜色&图像)

+0

好吧,因为这是我的用户正在进行打印......我认为我不能接受告诉他们所做的一切...... – Max 2012-08-13 20:05:00