我在将一个页脚显示为比萨文档的第一页上的一个框架时,以及在每个其他页面上显示为另一个框架时遇到了一些麻烦。我试图从here调整lastPage的想法,但没有运气。
有可能这样做吗? <pdf:nextpage />
似乎不是正确的,因为文档有一个可能(或可能不)流过多个页面的长表。 <pdf:nextframe />
加上只有第一页的框架看起来很有希望,但我不确定如何使用它。
目前我(为了简洁起见):
<style type="text/css">
@page {
margin: 1cm;
margin-bottom: 2.5cm;
@frame footer {
-pdf-frame-content: footerFirst;
-pdf-frame-border: 1;
bottom: 2cm;
margin-left: 1cm;
margin-right: 1cm;
height: 1cm;
}
@frame footer {
-pdf-frame-content: footerOther;
bottom: 2cm;
margin-left: 1cm;
margin-right: 1cm;
height: 1cm;
}
</style>
<body>
<table repeat="1">
<!-- extra long table here -->
</table>
<div id="footerContent">This is a footer</div>
<!-- what goes here to switch frames after the first page? -->
<div id="footerOther"></div>
</body>
这会在每个页面上放置相同的页脚。我需要在每个连续页面上留下相同的空间,但框架中没有内容。
答案 0 :(得分:5)
您可以按名称定义其他布局,然后告诉xhtml2pdf使用nexttemplate标记显式切换到它们。我最近这样做是为了在我的第一页上没有标题,而是在所有后续页面上显示它。
您应该将@page定义更改为两个不同的页面,可能是这样的:
<style type="text/css">
@page {
margin: 1cm;
margin-bottom: 2.5cm;
@frame footer {
-pdf-frame-content: footerFirst;
-pdf-frame-border: 1;
bottom: 2cm;
margin-left: 1cm;
margin-right: 1cm;
height: 1cm;
}
}
@page innerpages {
margin: 1cm;
margin-bottom: 2.5cm;
@frame footer {
-pdf-frame-content: footerOther;
bottom: 2cm;
margin-left: 1cm;
margin-right: 1cm;
height: 1cm;
}
}
</style>
然后,在你想要切换到不同布局的html中,使用这样的标记:
<pdf:nexttemplate name="innerpages"/>
下一页(以及后续页面,直到您再次更改模板)将使用内页面布局和“其他”页脚。