我使用PrinceXML在我的.Net應用程序中創建PDF報告。我已經在HTML中創建了報告,並且只有很少的區域具有背景顏色。但是,當使用PrinceXML生成PDF報告時,這些背景顏色會丟失。我嘗試用寬度和高度替換背景圖像。他們仍然沒有展示。這就像它已經完全刪除了CSS區域。背景顏色不顯示在王子xml
任何人遇到過這樣的問題嗎? PrinceXML文檔提到它們支持背景顏色和圖像。
我使用PrinceXML在我的.Net應用程序中創建PDF報告。我已經在HTML中創建了報告,並且只有很少的區域具有背景顏色。但是,當使用PrinceXML生成PDF報告時,這些背景顏色會丟失。我嘗試用寬度和高度替換背景圖像。他們仍然沒有展示。這就像它已經完全刪除了CSS區域。背景顏色不顯示在王子xml
任何人遇到過這樣的問題嗎? PrinceXML文檔提到它們支持背景顏色和圖像。
背景顏色
王子似乎認識到邊框顏色,但不顏色(文字顏色)或背景色或背景圖像。
您可以在 pseduo-element和厚邊框之後使用來模擬背景色。王子正確地呈現這個。
CSS
.bgRED:after {
content: "";
display:block;
border-top: 25px solid red;
margin-top: -25px;
}
.bgRED-ib {display: inline-block;}
HTML
<p class='bgRED'>This is a p with a red background</p>
<span class='bgRED bgRED-ib span6'>This is a span with a red background</span>
這需要你知道元素的像素高度,使其工作。
背景圖片
我試圖用做背景圖像「水痕」在整個頁面
王子忽略CSS像這樣類似的事情: 背景圖像:網址( HUGE_sunset.jpg)
但是我設法得到它使用類似這樣的工作:
HTML
<img class="behind" src='HUGE_sunset.jpg'>
<div class="infront">
<p>with the lights out, it's less dangerous, here we are now entertain us </p>
</div>
CSS
.behind {position: absolute; width:100%; height:100%; z-index:1;}
.infront {position: absolute; z-index:500;}
在王子的文檔裏提到,background-color
默認爲transparent
,並且color
默認爲black
。一時興起,我試着將!important
指令添加到我的color
/background-color
樣式中,並且工作正常。
我不知道Prince在這些情況下應用了什麼樣的默認樣式選擇器,但它看起來或者是在其之後(或者與一些其他更具體的選擇器)一起使用它的基本樣式,從而需要這種不愉快的戰爭。
沒有任何方式檢查應用的風格有點不透明,或者我肯定會推薦去不同的路線。幸運的是,在我的情況下,我需要的樣式僅適用於Prince生成的pdf。如果你有風格你需要使用王子和網絡,我建議張貼它作爲一個錯誤在王子論壇,並希望他們修復它。
對PrinceXML不熟悉,但作爲一個瘋狂的猜測,它使用瀏覽器的打印例程嗎?大多數瀏覽器在打印時會抑制背景顏色。 –
@MrLister我認爲它獨立於瀏覽器運行(儘管它可能在內部使用類似WebKit的東西) – jinglesthula