【问题标题】:TCPDF - Having footer/header on certain pages onlyTCPDF - 仅在某些页面上有页脚/页眉
【发布时间】:2011-12-15 12:54:55
【问题描述】:

我想将页脚部分放在文档的每一页上,除了第一页。

我通过扩展 TCPDF 类并覆盖其页脚方法来创建自定义页脚。

然后根据文档并使用以下示例,我知道我应该使用 SetPrintHeader 和 SetPrintFooter 方法:

http://www.tcpdf.org/examples/example_002.phps

// Page one

$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(false);     
$pdf->AddPage();

// Page two and on ..

$pdf->SetPrintHeader(true);
$pdf->SetPrintFooter(true);     
$pdf->AddPage();

但是,以上内容并不能完全阻止页脚/页眉的打印!

我在这里做错了什么?

提前一百万谢谢!!

【问题讨论】:

    标签: tcpdf


    【解决方案1】:

    我认为

    $pdf->setPrintHeader(false);
    $pdf->setPrintFooter(false);
    

    全局打印或隐藏页眉和页脚,如果你这样做

    $pdf->SetPrintHeader(false);
    $pdf->SetPrintFooter(false);     
    $pdf->AddPage();
    
    // Page two and on ..
    
    $pdf->SetPrintHeader(true);
    $pdf->SetPrintFooter(true);   
    

    您只是告诉 TCPDF 打印页眉和页脚(最后两个语句)。

    您应该做的是,在页眉和页脚功能中,根据您所在的页面有条件地打印内容。类似(未经测试,我现在没有我的 PHP IDE)

    function Header(){
       $pageN = PageNo();
       if($pageN % 2 === 0){
          //if page is 2/4/6... don't print anything
           return;
        }else{
           //do your stuff  
    
    }
    

    【讨论】:

    • 谢谢 Nicola,是的,你说的完全正确。这是一条全局指令,因此会考虑最后一个值。问题在于页码是我的第一页是可选的,所以我可能并不总是第 0 页。有没有办法给页面命名?
    • 第一页是可选的是什么意思?无论如何,我在代码中忘记了两个=...无论如何我认为你必须找到一个逻辑来理解你的页面在里面再决定是否打印表头
    【解决方案2】:

    可以通过修改tcpdf.php中的startPage函数来控制header

    在这个例子中,我只需要第 2 页的标题。

        // print page header
        if ($this->numpages > 1)    {
            $this->setHeader();
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-03
      • 2016-03-08
      • 1970-01-01
      相关资源
      最近更新 更多