0

最新のdompdfリリース(domdpf beta 2)では、セキュリティ上の理由からインラインphpが無効になっています。これにより、前のフッター/ヘッダーコードが発生しました。

<script type="text/php">

if ( isset($pdf) ) {

  $font = Font_Metrics::get_font("helvetica", "bold");
  $pdf->page_text(72, 18, "Header: {PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(0,0,0));

}
</script>

もう動作しません。

私は今、このスクリプトがCSSを使用して行ったことを再現しようとしています。これまでのところ、CSSでページをカウントする方法を理解しました。

.pagenum:before { content: counter(page); }

私が抱えている問題は、フッターをページの下部に貼り付けることです。これを行う方法に関するほとんどのCSSチュートリアルは機能していないようです。これが私のページのCSSです:

html,body {
     font-family:interstate;
    height:100%;
    width:100%;
    overflow:auto;
    margin-left: 40px;
    margin-right: 40px;
    margin-top: 20px;   
 margin-bottom:40px;
 min-height: 100%;
}



P.breakhere {page-break-before: always}

table
{
  border-collapse: collapse;
    page-break-inside: avoid;
  font-size:15px;

    }

td
{
border: 1px solid #000

}
.noBorder {
    border: 0
}


#header {background:#ffffff url('gradient.png') no-repeat center center;
height: 100px;

}

#text {
position:relative;
text-align:center;
padding:10px;
}



.pagenum:before { content: counter(page); }

誰かが私に適切な#footerビットを提供してくれることを願っています。そうすれば、私のフッターテキストはページの下部に適切に貼り付けられます。

ありがとうございました!!

4

1 に答える 1

12

インラインスクリプトはデフォルトで無効になっていますが、セキュリティ上の問題に対して脆弱でないと思われる場合は、に設定DOMPDF_ENABLE_PHPして安全に再度有効にすることができますtrue

HTML + CSSを使用してヘッダー/フッターを作成するには、固定位置要素を使用します。

CSS

#footer {
  position: fixed;
  bottom: 0px;
  left: 0px;
  right: 0px;
  height: 100px;
  text-align: center;
  background-color: lightgray;
  border-top: 2px solid gray;
}
.pagenum:before {
  content: counter(page);
}

HTML

<div id="footer">
  <p>page <span class="pagenum"></span></p>
</div>

HTML + CSSメソッドの主な欠点は、現在、このメソッドを使用してページの総数を取得する方法がないことです。

于 2012-01-03T22:26:55.770 に答える