24

PDFドキュメントがmPDFライブラリを使用している場合、生成されたページ数を取得する方法を知っている人はいますか?

4

6 に答える 6

31

私は EYiiPdf (Yii 上の mPDF のラッパー) を使用しているときに同じ機能を探していましたが、以下は魅力的でした:

$mPDF->setFooter('{PAGENO} / {nb}');

mPDF のソースを確認したところ、mpdf.php:1656 (バージョン 5.4) でこれを見つけました。

function AliasNbPages($alias='{nb}') {
    //Define an alias for total number of pages
    $this->aliasNbPg=$alias;
}

それが役に立てば幸い!

于 2013-02-20T04:50:30.737 に答える
16

次のように{nbpg}を使用できます

<div align="center"><b>{PAGENO} / {nbpg}</b></div>
于 2013-10-21T13:29:11.107 に答える
6

これをメインの mPDF クラスに追加します。

function getPageCount() {
    return count($this->pages);
}

次に、次のような文字列の html パーサーを追加します。

$html = str_replace('{PAGECNT}', $this->getPageCount(), $html);

これらのアクションの後、解析された HTML に直接 {PAGECNT} を挿入して結果を得ることができます。これは、ページを示す必要がある場合に便利です。

于 2012-04-26T06:39:21.733 に答える
4
  • 総数の代替エイリアス{nb}および{nbpg}
  • 現在のページ番号の{PAGENO}

アップデート

この回答は、執筆時点での最新バージョンである mdf ライブラリ v4 を参照していることに注意してください。

@aiaoによる最小限の作業例

<?php 
$pagenumber= '<!--mpdf Page {PAGENO} of {nbpg}mpdf--> $mpdf->WriteHTML($pagenumber); 
$mpdf->Output();
?> 

<?php 
$pagenumber= '<!--mpdf Page {PAGENO} of {nbpg}mpdf--> $mpdf->WriteHTML($pagenumber); 
$mpdf->Output();
?>
于 2014-06-24T08:02:45.763 に答える
0

次の行に注意してください。

preg_replace('/\{DATE\s+(.*?)\}/e',"date('\\1')",$hd);

mpdf.php 関数の Footer() で "{PAGENO} / {nb}" が表示されない場合があります。コメントアウトするか、利用strpos('{DATE' > -1)可能かどうかを確認するために使用してください。また、次を追加する必要がある場合があります。

$mpdf->ignore_invalid_utf8 = true;

また、フッター行が必要ない場合:

$mpdf->defaultfooterline = false;

これらの変更の後、ページネーションがついに機能しました。

于 2016-04-06T10:16:42.630 に答える