我正在使用 PrinceXML 在我的 .Net 应用程序中创建 PDF 报告。我已经在 HTML 中创建了报告,并且它几乎没有带有背景颜色的区域。但是在使用 PrinceXML 生成 PDF 报告时,这些背景颜色会丢失。我尝试用具有宽度和高度的背景图像替换背景颜色。他们仍然没有表现出来。就好像它已经完全删除了那个 CSS 区域。
以前有人遇到过这样的问题吗?PrinceXML 文档提到它们支持背景颜色和图像。
我正在使用 PrinceXML 在我的 .Net 应用程序中创建 PDF 报告。我已经在 HTML 中创建了报告,并且它几乎没有带有背景颜色的区域。但是在使用 PrinceXML 生成 PDF 报告时,这些背景颜色会丢失。我尝试用具有宽度和高度的背景图像替换背景颜色。他们仍然没有表现出来。就好像它已经完全删除了那个 CSS 区域。
以前有人遇到过这样的问题吗?PrinceXML 文档提到它们支持背景颜色和图像。
背景颜色
Prince 似乎可以识别border-color,但不能识别color(文本颜色)或background-color或background-image。
您可以通过使用后伪元素和粗边框来模拟背景颜色。普林斯正确地呈现了这一点。
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>
这要求您知道元素的高度(以像素为单位)才能使其工作。
背景图片
我正在尝试类似的事情,在整个页面上制作背景图像“水印”
Prince 像这样忽略 CSS: background-image: url(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;}
在 Prince 文档中,它提到background-color
默认为transparent
,并且color
默认为black
. 一时兴起,我尝试将!important
指令添加到我的color
/background-color
样式中并且它起作用了。
我不知道 Prince 在这些情况下应用了什么作为其默认样式选择器,但似乎它要么在(或使用其他一些更具体的选择器)之后应用它的基本样式,这使得这场不愉快的!important
战争成为必要。
如果没有任何方法来检查应用的样式,它有点不透明,或者我肯定会建议走不同的路线。幸运的是,我需要的样式仅适用于 Prince 生成的 pdf。如果您有需要同时用于 Prince 和 web 的样式,我建议将其作为 bug 发布在 Prince 论坛中,并希望他们修复它。
这是 Prince Pdf 的背景图像的 css
<style>
@page{
background: url(background.png) #ffffff;
-webkit-background-size: 100%;
prince-background-image-resolution: 72dpi;
background-position: 0px 0px;}
</style>
顺便说一句,如果你想使用 bootstrap ,请使用 3.7 版