web-dev-qa-db-ja.com

TCPDFのヘッダーとフッターの変更または削除

tcpdfのAddPage()は、ヘッダーとフッターを自動的に呼び出します。これを削除/上書きするにはどうすればよいですか?

36
ChuckO

SetPrintHeader(false)を呼び出す前に、SetPrintFooter(false)およびAddPage()メソッドを使用してください。このような:

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

ヘッダー(またはヘッダーのビット)を表示するタイミングを簡単に制御できる便利な方法は、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, '');
        }
    }

ヘッダーをまったく使用しない場合は、当然これを使用してコンテンツを返さないこともできます。

11
Lukey

ヘッダーとフッターを削除する別の方法を次に示します。

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

$pdf = new PDF();
2
zeddex
// 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));

上記の機能を使用して、ヘッダーとフッターを変更できます。

1
Kracekumar

これを削除/上書きするにはどうすればよいですか?

また、 TCPDFドキュメントの例 は、独自のクラスでヘッダーとフッターをオーバーライドする方法を示しています。

1
Nathan

例:
-最初のページ、フッターなし
-2ページ目、フッターあり、ページ番号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();
0
Nik