2011-12-01 34 views
3

我製作html報表並打印它們(或PDF)並希望進行智能分頁。我想避免標題在一個頁面上和下一頁上的段落。在這種情況下,下一頁應以標題開頭。我試過page-break-after:avoid但沒有成功。我不明白爲什麼。如果我嘗試page-break-after:always它的作品。所以我想避免函數不是那麼好。我總是使用IE8。智能html分頁符

是他們的任何腳本方式來計算分頁符應該在哪裏?如果他們是我可以在那個地方做一個page-break-after:always

謝謝! /Georg

回答

1

這個班只是一個提示。只有在可以避免的情況下才能避免分頁。如果這意味着結果將不得不被剪切,畢竟分頁符將被插入。

我不認爲有可能計算分頁符的位置,因爲它取決於很多變量,包括打印機頁邊距和紙張大小,這些變量在CSS或JavaScript中都不可訪問。

+0

這就是我所猜測的。我使用ASP.NET創建html,所以也許我可以使用ASP.NET計算內容的高度?我也有圖像,有html的地址,所以我也需要知道它們的高度。我知道紙張大小和邊距。我也知道所有的字體和字體大小。你認爲不可能嗎? – ahrberg

+0

我認爲不是。你可能走得很近,但總會有這些小小的差異。並非每個渲染器都以完全相同的寬度呈現字體。整行文本中的像素差異可能會導致單詞跳到下一行,從而移動整個頁面。這將是一個大量的工作,你永遠不會得到它的權利。你最好問自己,爲什麼在這一點上不要休息是如此重要。也許你可以在頁面中斷的所有頁面中添加'page-break-after:auto'。 – GolezTrol

0

我使用TCPDF(http://www.tcpdf.org/)來做類似的事情。雖然打印表格數據很容易在正確的地方得到分頁符,所以我可以做一個行計數。

你可以嘗試一個字符數,但它不會那麼準確。