【问题标题】:Changing or eliminating Header & Footer in TCPDF更改或删除 TCPDF 中的页眉和页脚
【发布时间】:2011-01-14 02:23:01
【问题描述】:

tcpdf 中的AddPage() 自动调用Header 和Footer。如何消除/覆盖它?

【问题讨论】:

    标签: php pdf-generation tcpdf


    【解决方案1】:

    在调用AddPage() 之前使用SetPrintHeader(false)SetPrintFooter(false) 方法。像这样:

    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, 'LETTER', true, 'UTF-8', false);
    $pdf->SetPrintHeader(false);
    $pdf->SetPrintFooter(false);
    $pdf->AddPage();
    

    【讨论】:

    • 这个答案并没有真正帮助我做我想做的事情。我希望只有第一页没有页眉或页脚......这queirozf.com/reminders/…是我最后所做的。
    【解决方案2】:
    // set default header data
    $pdf->SetHeaderData('', PDF_HEADER_LOGO_WIDTH, 'marks', 'header string');
    
    // set header and footer fonts
    $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
    $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
    

    借助上述功能,您可以更改页眉和页脚。

    【讨论】:

    • 感谢您迟来的答复。我曾想消除页眉/页脚,而布赖恩的方式做到了。
    【解决方案3】:

    如何消除/覆盖它?

    另外,Example 3 in the TCPDF docs 展示了如何使用您自己的类覆盖页眉和页脚。

    【讨论】:

      【解决方案4】:

      以下是删除页眉和页脚的另一种方法:

      // Remove the default header and footer
      class PDF extends TCPDF { 
          public function Header() { 
          // No Header 
          } 
          public function Footer() { 
          // No Footer 
          } 
      } 
      
      $pdf = new PDF();
      

      【讨论】:

        【解决方案5】:

        控制何时显示标头(或标头的位)的一个很好的简单方法是扩展 TCPDF 类并创建您自己的标头函数,如下所示:

          class YourPDF extends TCPDF {
                public function Header() {
                    if (count($this->pages) === 1) { // Do this only on the first page
                        $html .= '<p>Your header here</p>';
                    }
        
                    $this->writeHTML($html, true, false, false, false, '');
                }
            }
        

        当然,如果您不想完全没有标题,您也可以使用它来不返回任何内容。

        【讨论】:

        • 我首先使用$this-&gt;getAliasNumPage() 尝试了这个,但没有成功,但确实如此。干杯卢基
        【解决方案6】:

        示例:
        - 第一页,没有页脚
        - 第二页,有页脚,从第 1 页开始

        结构:

            // First page
            $pdf->startPageGroup();
            $pdf->setPrintFooter(false);
        
            $pdf->addPage();
            // ... add page content here
            $pdf->endPage();
        
            // Second page
            $pdf->startPageGroup();
            $pdf->setPrintFooter(true);
        
            $pdf->addPage();
            // ... add page content here
            $pdf->endPage();
        

        【讨论】:

          猜你喜欢
          • 2019-12-08
          • 1970-01-01
          • 2016-03-08
          • 2021-01-29
          • 2012-01-03
          • 2015-10-01
          • 1970-01-01
          相关资源
          最近更新 更多