2013-06-03 49 views
1

我正在使用C#和RazorEngine從HTML模板生成PDF。我試圖在每個頁面上重複標題。我已經嘗試過多種方式讓它起作用,但無論我嘗試什麼,它都不會重複。這是我嘗試過的一個例子。PDF中的剃刀引擎重複頭文件

<table> 
    <thead style="display: table-header-group;"><tr><th>Test THEAD</th></tr></thead> 
    @for(var i=0; i<=100; i++) 
    { 
     <tr><td>Test TD </td></tr> 
    } 
</table> 

從技術上講,頭不需要是表的一部分。模板本身並不是一張大桌子,但如果需要的話,我可以將其全部包裝在一個表格中,如果這是我需要做的事情才能重複標題。任何想法都非常感謝。謝謝!

編輯

按照理查德·摩根的建議,我想這一點,並沒有奏效。

<table stlye="page-break-inside:auto;"> 
<thead style="display:table-header-group; display: table-header-group;"> 
    <tr stlye="page-break-inside:avoid; page-break-after:auto;"> 
     <th>Test THEAD</th> 
    </tr> 
</thead> 
@for(var i=0; i<=100; i++) 
{ 
    <tr style="page-break-inside:avoid; page-break-after:auto"> 
     <td>Test TD </td> 
    </tr> 
} 
<tfoot style="display:table-footer-group;"> 
    <tr> 
     <td>TFOOT</td> 
    </tr> 
</tfoot> 
</table> 

回答

0

我所面臨使用htmltopdf類似的問題,並得到了與下面的CSS幾乎可行的解決方案:您已經在使用,所以應該是簡單的嘗試

<style type="text/css"> 
    table { page-break-inside:auto } 
    tr { page-break-inside:avoid; page-break-after:auto } 
    thead { display:table-header-group; display: table-header-group; } 
    tfoot { display:table-footer-group } 
</style> 

我認爲這取決於PDF生成器用於呈現HTML的內容。我沒有使用PDF格式的Razor,所以你的體驗可能會有所不同。

+0

我試過了,它沒有工作。我正在使用確切的代碼更新我的原始帖子。 – Chris