现在我正在使用xhtmlrenderer将 html 转换为 PDF。我的maven依赖如下:
<dependency>
<groupId>org.mvel</groupId>
<artifactId>mvel2</artifactId>
<version>2.1.0.drools2</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>core-renderer</artifactId>
<version>R8</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.0.8</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
我试图在每个 PDF 的页面中重复表头。所以我使用 css:
table {
-fs-table-paginate: paginate;
}`
CSS 的解释在这里。
-fs-table-paginate
当与 value 一起使用时
-fs-table-paginate: paginate
,修改表格布局算法以在后续页面上重复表格页眉和页脚,并改善跨页单元格的外观(例如通过关闭和重新打开边框),但仅此而已。如果表格的最小宽度比页面宽,它将被切掉。添加上面的 css 时,我的表格边框被分离。
- 在我添加 css 之前,表格的边框被折叠成单边框。
所以我认为这table { -fs-table-paginate: paginate; }
使我的表border-collapse:collapse
无效。
那么我能做些什么来修复这个错误,让表格的边框崩溃呢?
我的表格应用 CSS 如下
table{
border:1px solid #000000;
border-collapse:collapse;
-fs-table-paginate: paginate;
}
table td{
border:1px solid #000000;
word-wrap:break-word;
white-space:normal;
overflow:hidden;
text-align:left;
line-height:16px;
height:16px;
}
table tr{
page-break-inside:avoid;
}
table thead tr th{
background:#f2f2f2;
border:1px solid #000000;
text-align:center;
}
table tr th{
background:#f2f2f2;
border:1px solid #000000;
text-align:center;
}
并且-fs-table-paginate: paginate;
有时添加时表头会不正常。标题将无法正确显示。而下面的表头会增加一个额外的空行。如下:
有人有什么想法吗?