0

dompdf を使用してレポートを生成しています。このレポートには、フロント ページがあったり、添付ファイルがあったりします。メイン コンテンツにはヘッダーとフッターがありますが、フロント ページと添付ファイル (pdf の最後の 3 ~ 5 ページ) にはヘッダーとフッターを含めないでください。次のように、ヘッダーとフッターをインライン php page_script() で配置しています。

<script type="text/php"> 
    if (isset($pdf) ) { 
        $pdf->page_script('
            if ( $PAGE_COUNT > 10 && $PAGE_NUM == 1) {
                //front page footer
            }else{
                //other pages' header and footer
            }
        ');
    }
</script>

レポート全体は、DOMPDF に読み込まれる一時的な html.txt ファイルとしてすべてを出力するデータベース エンジンによって構築されます。

ここで、フロント ページを認識するために、ページ番号が = 1かどうかを確認する必要があります。添付ファイルが追加された場合 (高さ 1000px の jpg 画像で構成され、それぞれが独自のページにある)

これらの「添付ファイル」ページを特定し、DOMPDF がそれらのページにヘッダーとフッターをレンダリングしないようにする方法を知っている人はいますか? または、現在のページに画像(または特定のクラスまたは識別子を持つ画像)のみが含まれているかどうかを page_script()-script 内で確認する方法はありますか?

助けてくれてありがとう、デビッド

4

1 に答える 1

1

現在のページ コンテンツを検出することは可能かもしれませんが、このレベルで何ができるかを正確に調査する必要があります。より簡単な方法は、生成されたドキュメントにインライン スクリプトを挿入できる場合です。メインコンテンツの後、添付ファイルの前に、次のようなもの$GLOBALS['attachments'] = true;を追加して、この変数のステータスのチェックを条件に追加できます。

<script type="text/php">
if (isset($pdf) ) {
  $pdf->page_script('
    if ( $PAGE_COUNT > 10 && $PAGE_NUM == 1) {
      //front page footer
    }elseif ($GLOBALS['attachments']) {
      //attachments actions
    }else{
      //other pages' header and footer
    }
  ');
}
</script>

もちろん、ドキュメントの先頭で変数を false に初期化することを忘れないでください。( https://groups.google.com/d/topic/dompdf/mDsYi8Efnhc/discussionより)

于 2013-01-17T14:47:26.083 に答える