2020.04.06

TCPDFを利用してWordPressのページを動的にPDF出力してみよう④【フッターカスタマイズ編】

こんにちは、webエンジニアのゾノ( @ozonosho )です。

さて、昨日のブログに続いて今回もTCPDFを利用してWordPressのページを動的にPDF出力する方法をご紹介いたします。全5回に分けて紹介していきますのでどうぞお付き合いください。

第4回目となる今回はTCPDFのフッターカスタマイズ方法をご紹介します!

フッターは色々情報を入れたくなる箇所だと思うのですが、用意されている関数だとほとんど情報を操作できないんですよね。

フッターに特定の文字列を挿入する方法

フッターに指定した文字列を挿入したい場合、下記のようなコードを設定してください。

//PHPライブラリを読み込み
include (dirname(__FILE__).'/tcpdf/tcpdf.php');

//クラスを継承
class MYPDF extends TCPDF {
    //フッターカスタマイズ
    public function Footer() {
    	//オリジナルフォントを適用①
		$font = new TCPDF_FONTS();
		$myFont = $font->addTTFfont('フォントファイルまでのパス');
        $this->SetFont($myFont, 'I', 8); 
		//表示座標の調整
        $this->SetY(-15);
        //出力内容の定義②
        $this->Cell(0, 10, '挿入したい文字列', 0, false, 'C', 0, '', 0, false, 'T', 'M');
    }   
}

//TCPDFインスタンスを作成
$tcpdf = new MYPDF();

//以下、PDFの設定や出力の処理に続く

TCPDFクラスを継承することで、新しいFooterの定義をおこないます。

①について
前回のブログで紹介した方法と同じ手順でオリジナルフォントを適用することができます。

②について
上記コード内で「挿入したい文字列」と記載されている箇所に、挿入したい文字列を設定してください。ここに記載した内容がフッターに表示されます。

実際にフッターを設定してみたサンプルPDFが下記になります。

サンプルPDFはこちら

フッターにページ番号を表記する方法

フッターに指定した文字列を挿入したい場合、下記のようなコードを設定してください。

//PHPライブラリを読み込み
include (dirname(__FILE__).'/tcpdf/tcpdf.php');

//クラスを継承
class MYPDF extends TCPDF {
    //フッターカスタマイズ
    public function Footer() {
    	//オリジナルフォントを適用
		$font = new TCPDF_FONTS();
		$myFont = $font->addTTFfont('フォントファイルまでのパス');
        $this->SetFont($myFont, 'I', 8); 
		//表示座標の調整
        $this->SetY(-15);
        //出力内容の定義
        $this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
    }   
}

//TCPDFインスタンスを作成
$tcpdf = new MYPDF();

//以下、PDFの設定や出力の処理に続く

TCPDFには、現在ページ数を取得できる関数「getAliasNumPage」と、総ページ数を取得できる関数「getAliasNbPages」が用意されているので、これらを利用してページ番号を表示することができます。

サンプルPDFはこちら

このように、クラスを継承すればフッターにさまざまな情報を記載することができます。

おわりに

以上、今回はTCPDFのフッターカスタマイズ方法をご紹介させていただきました。

次回は【ページ出力編】!
全5回に分けてTCPDFを利用してWordPressのページを動的にPDF出力する方法を紹介していくので、次回もぜひご覧いただけると嬉しいです(*´`)

当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。

あなたのサイトに理想の機能を実装!WordPressカスタマイズサービス

本サービスはあなたのWordPressサイトに理想の機能を実装するサービスとなります。 どのような機能・要望でも実現可能です! Wo......

→この記事を読む