1

我正在使用 PrinceXML 在我的 .Net 应用程序中创建 PDF 报告。我已经在 HTML 中创建了报告,并且它几乎没有带有背景颜色的区域。但是在使用 PrinceXML 生成 PDF 报告时,这些背景颜色会丢失。我尝试用具有宽度和高度的背景图像替换背景颜色。他们仍然没有表现出来。就好像它已经完全删除了那个 CSS 区域。

以前有人遇到过这样的问题吗?PrinceXML 文档提到它们支持背景颜色和图像。

4

3 回答 3

2

背景颜色

Prince 似乎可以识别border-color,但不能识别color(文本颜色)或background-colorbackground-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;}
于 2014-01-23T04:07:46.770 回答
2

在 Prince 文档中,它提到background-color默认为transparent,并且color默认为black. 一时兴起,我尝试将!important指令添加到我的color/background-color样式中并且它起作用了。

我不知道 Prince 在这些情况下应用了什么作为其默认样式选择器,但似乎它要么在(或使用其他一些更具体的选择器)之后应用它的基本样式,这使得这场不愉快的!important战争成为必要。

如果没有任何方法来检查应用的样式,它有点不透明,或者我肯定会建议走不同的路线。幸运的是,我需要的样式仅适用于 Prince 生成的 pdf。如果您有需要同时用于 Prince 和 web 的样式,我建议将其作为 bug 发布在 Prince 论坛中,并希望他们修复它。

于 2016-11-28T20:24:51.670 回答
0

这是 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 版

于 2018-06-29T01:38:28.623 回答