iText7 - Html 到 PDF - 带页面计数器的页脚 - 如何更改颜色
iText7 - Html to PDF - Footer with page counter - How change color
使用 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>
我的Java
try {
HtmlConverter.convertToPdf(new FileInputStream(new File(SRC)), new FileOutputStream(new File(DEST)));
} catch(Exception e) {
e.printStackTrace(System.err);
}
我的目标:
如果我尝试对页眉执行 as 操作,我不会到达页面计数器。
如果我按照上面的代码进行操作,我不会影响样式。
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 后的视觉效果
使用 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>
我的Java
try {
HtmlConverter.convertToPdf(new FileInputStream(new File(SRC)), new FileOutputStream(new File(DEST)));
} catch(Exception e) {
e.printStackTrace(System.err);
}
我的目标:
如果我尝试对页眉执行 as 操作,我不会到达页面计数器。
如果我按照上面的代码进行操作,我不会影响样式。
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 后的视觉效果