我正在使用dompdf生成报告。并尝试在页面中重复元素,根据数据的不同,该元素最多可能需要4页。但是它仅在首页上创建
当前我有这个html标记。
<html>
<head>
<style>
@page {
margin: .5in;
}
.footer{
position:fixed;
width:100%;
bottom:60px;
}
.page-3{
position:relative;
}
.repeat{
position:fixed;
width:100%;
top:10px;
}
</style>
</head>
<body>
<div class="page page-1">
<div class="content">
<div class="content-header">...</div>
<div class="content-text">...</div>
</div>
</div>
<div class="page page-2">
<div class="content">
<div class="content-header">...</div>
<div class="content-text">...</div>
</div>
</div>
<div class="page page-3">
<div class="content">
<div class="content-header repeat">
This must repeat in all pages generated
</div>
<div class="content-text">
atleast 2~4 pages
</div>
</div>
</div>
<div class="page page-4">
<div class="content">
<div class="content-header">...</div>
<div class="content-text">...</div>
</div>
</div>
<div class="footer">
footer
</div>
</body>
</html>
假设.page-3
生成了3页。但是.repeat
仅在.page-3
内的第一页上可见
我尝试为.page-3
使用背景图片,但是背景图片仍然相同,并且仅在生成的第一页上显示。
我使用的是dompdf的0.8.2
版本。
答案 0 :(得分:0)
如果有人遇到与我相同的问题。我最终使用了page_script
。
由于我知道前2页是静态的,而最后一页是静态的,因此我访问了$PAGE_NUM
并放置了这样的条件
`
$pdf->page_script('
if( $PAGE_NUM != 1 ){ // 1st page has no header
$text = "";
if( $PAGE_NUM == 2 ){
$text = "This is 2nd page";
}else if( $PAGE_NUM > 2 && $PAGE_NUM < $PAGE_COUNT ){
$text = "This is the page 3 until before the last page";
}else if( $PAGE_NUM == $PAGE_COUNT ){
$text = "This is last page";
}
// setup postioning, color, size etc for design
// use $text as header text
$pdf->text( $posX, $posY, $text, $font, $size, $color);
}
');
`
并删除了HTML标记中的所有<div class="content-header">...</div>