如何解决在 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>
解决方法
这适用于我的飞碟 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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。