CSS转PDF,飞碟中的CSS:-fs-table-paginate导致边界崩溃:崩溃无效

Fis*_*Gel 15 html css flying-saucer xhtmlrenderer

现在我使用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>
Run Code Online (Sandbox Code Playgroud)

我试图在每个PDF页面重复表头.所以我使用css:. -fs-table-paginate: paginate解释CSS就在这里.

table {
        -fs-table-paginate: paginate;
    }`
Run Code Online (Sandbox Code Playgroud)
  • 当与值(-fs-table-paginate)paginate一起使用时,修改表格布局算法以在后续页面上重复表格页眉和页脚,并改善跨页面的单元格的外观(例如通过关闭和重新打开边框),但就是这样.如果桌子的最小宽度比页面宽,它将被切断.

  • 当添加上面的CSS时,我的表的边框是分离的.

在此输入图像描述

  • 在添加css之前,表格的边框会折叠为单边框.

在此输入图像描述

所以我觉得table { -fs-table-paginate: paginate; }我的桌子border-collapse:collapse无效了. 那么我该怎么做才能解决这个问题,让桌子边框崩溃?

我的应用程序CSS表格如下

-fs-table-paginate
Run Code Online (Sandbox Code Playgroud)

并且当-fs-table-paginate: paginate; 有时添加表头时不正常.标题将无法正确显示.并且下面的表头会增加一个额外的空行.如下: 在此输入图像描述

有人知道这些想法吗?

obo*_*ain 12

对于同样的问题,我使用了这个解决方法:

table {
  -fs-table-paginate: paginate;
  border-spacing: 0;
}
Run Code Online (Sandbox Code Playgroud)

它对我有用,我的thead每一页都重复了.


小智 2

是的,你是对的...

border-collapse: 折叠 和 -fs-table-paginate: 分页不能一起使用。当 -fs-table-paginate 设置为分页时,border-collapse 被重置为分离...

因此,实现表头的更好方法是使用 thead...这可能会帮助您...