动态页面中的DOMPDF重复元素

时间:2018-08-11 11:19:06

标签: dompdf

我正在使用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版本。

1 个答案:

答案 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>