java - iText7 - Html 到 PDF - 带页面计数器的页脚 - 如何更改颜色
问题描述
使用 iText7 for Java,我尝试将 HTML 转换为 PDF。我尝试更改页脚的样式,但没有成功。
我的 HTML:
<html>
<head>
<style>
#header {
position: running(header);
text-align: left;
margin-top: 50pt;
margin-left: 320pt;
font-family: Garamond;
}
@page {
margin-top: 200pt;
margin-right: 30pt;
margin-bottom: 50pt;
margin-left: 30pt;
@top-right {
content: element(header);
}
@bottom-center {
content: "Page " counter(page) " of " counter(pages);
}
}
</style>
</head>
<body>
<div id="header">
Monsieur Jay LAPOISSE<br>
13 avenue de la Chance<br>
35911 Rennes
</div>
<div style="page-break-after: always;">First page</div>
<div style="page-break-after: always;">Second page</div>
<div>Last page</div>
</body>
</html>
我的爪哇
try {
HtmlConverter.convertToPdf(new FileInputStream(new File(SRC)), new FileOutputStream(new File(DEST)));
} catch(Exception e) {
e.printStackTrace(System.err);
}
我的目标:
如果我尝试像页眉那样做,我不会到达页面计数器。
如果我按照上面的代码进行操作,我不会影响风格。
解决方案
CSS 总共有 16 个页边距区域,您可以在其中放置内容。您可以通过以下 CSS 代码轻松使用这些区域来实现您的用例:
@bottom-right {
color: red;
content: "Page " counter(page) " of " counter(pages);
}
@bottom-left {
color: red;
content: "[document title]";
}
完整的 HTML:
<html>
<head>
<style>
#header {
position: running(header);
text-align: left;
margin-top: 50pt;
margin-left: 320pt;
font-family: Garamond;
}
@page {
margin-top: 200pt;
margin-right: 30pt;
margin-bottom: 50pt;
margin-left: 30pt;
@top-right {
content: element(header);
}
@bottom-right {
color: red;
content: "Page " counter(page) " of " counter(pages);
}
@bottom-left {
color: red;
content: "[document title]";
}
}
</style>
</head>
<body>
<div id="header">
Monsieur Jay LAPOISSE<br>
13 avenue de la Chance<br>
35911 Rennes
</div>
<div style="page-break-after: always;">First page</div>
<div style="page-break-after: always;">Second page</div>
<div>Last page</div>
</body>
</html>
使用 pdfHTML 3.0.1 转换为 PDF 后的视觉结果:
推荐阅读
- javascript - 动态添加图像的加载事件未触发
- reactjs - 输入错误的网址时如何重定向到错误页面?
- bash - Bash 变量声明与赋值
- java - 为什么每次单击另一个片段时从 firebase 检索的数据都会增加?
- python - Web Scraper:为什么我收到 AttributeError:'NoneType' 对象没有属性 'text'?
- javascript - 如何创建 2 个按钮来遍历链表并显示当前节点?
- react-native - 我在反应本机代码中收到表达式预期警告
- db2 - IBM DB2 Cloud 上使用 RUN SQL 接口的 IMPORT 脚本
- elasticsearch - 将提升限制为前 n 次匹配
- php - 将 PHP 回显值传递给模态框