在 v 9.1.20 中生成 PDF 时,表头不显示第二页中的文本

问题描述

我们正在使用最新版本的飞碟 v 9.1.20,因为表格标题在第一页上显示正确,带有文本,但似乎在剩余页面中被破坏,标题重复,但文本是不可见。

我们也在我们的代码中使用了属性-fs-table-paginate: paginate,但页眉文本仍然在页面显示为空白

我们也尝试过以前的版本,它一直工作到 9.1.15 版本。有没有人遇到过这个问题,请告诉我们解决方案。

还附上了我们使用过的示例 PDF 和代码的屏幕截图。

示例代码

<style>
table {
  -fs-table-paginate: paginate;
}
</style>

<table style="width:20%;" border="1">
  <thead style="background: #222; color: #fff;">
    <tr>
      <td>Header 1</td>
      <td>Header 2</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
    <tr>
      <td>test html</td>
      <td>test html</td>
    </tr>
  </tbody>
</table>

enter image description here

解决方法

这适用于我的飞碟 9.1.20 版。

jar 是通过 maven 添加的:

<dependency>
    <groupId>org.xhtmlrenderer</groupId>
    <artifactId>flying-saucer-pdf</artifactId>
    <version>9.1.20</version>
</dependency>

Maven 依赖

[INFO] ------------------------< org.example:SO-temp >------------------------
[INFO] Building SO-temp 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ SO-temp ---
[INFO]
[INFO] The following files have been resolved:
[INFO]    org.bouncycastle:bctsp-jdk14:jar:1.46:compile
[INFO]    org.xhtmlrenderer:flying-saucer-pdf:jar:9.1.20:compile
[INFO]    org.xhtmlrenderer:flying-saucer-core:jar:9.1.20:compile
[INFO]    com.lowagie:itext:jar:2.1.7:compile
[INFO]    org.bouncycastle:bcmail-jdk14:jar:1.64:compile
[INFO]    org.bouncycastle:bcpkix-jdk14:jar:1.64:compile
[INFO]    org.bouncycastle:bcprov-jdk14:jar:1.64:compile

Java 部分

public class SO {

    public static void main(String[] args) throws Exception {
        String html = String.join("\n",Files.readAllLines(Paths.get("so.html"),StandardCharsets.UTF_8));
        ITextRenderer renderer = new ITextRenderer();
        OutputStream out = new FileOutputStream(new File("so.pdf"));
        renderer.setDocumentFromString(html);
        renderer.layout();
        renderer.createPDF(out);
        out.close();
    }
}

HTML 部分

<html>
<head>
    <style  type="text/css">
        table {-fs-table-paginate: paginate;}
    </style>
</head>
<body>
<table style="width:20%;" border="1">
    <thead style="background: #222; color: #fff;">
    <tr><td>Header 1</td><td>Header 2</td></tr>
    </thead>
    <tbody>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>
    <tr><td>test html</td><td>test html</td></tr>

    </tbody>
</table>
</body>
</html>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...