2012-08-13 69 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