2016-03-31 70 views
6

我在Windows上使用wkhtmltopdf 0.12.3.2。在wkhtmltopdf中添加分頁符相關的CSS的位置?

我知道這個話題有很多問題和答案,但我仍然無法找到我的問題的答案;我不知道在哪裏把相應的CSS - 或者CSS不起作用的一些(其他)的原因:

例如,我試圖把頁面中斷相關的CSS直接到我的HTML文件,我想渲染。我想在我的<body>強制頁符與<span class="break_here"></span>

<!-- ... --> 
<head> 
    <style> 
     span.break_here { 
      page-break-after: always !important; 
     } 
    </style> 
</head> 
<!-- ... --> 

這並沒有做任何事情。

然後我也試圖把它變成@media print{}@media screen{}這並不會改變任何東西:

<style> 
    @media screen{ 
     span.break_here { 
      page-break-after: always !important; 
     } 
    } 
</style> 

感謝您的幫助!

編輯:通過添加--user-style-sheet選項來使用外部樣式表甚至有另一種可能性。

+0

只有在談論打印html頁面時,頁面中斷纔有意義,因爲內容被分離爲實際的頁面。在瀏覽器中查看呈現的html時,分頁符是沒有意義的,因爲它顯示爲連續的屏幕。那麼,你想要的究竟是什麼?爲了使這些元素在打印時每頁只顯示一個元素? – Tiramonium

回答

0

通過wkhtmltopdf中的獨立元素添加分頁符也導致了我的問題。

我發現將分頁符應用於包裝內容的元素要可靠得多。

這不工作這麼好:

<div>some content</div> 
<div class="pagebreak"></div> 

而這樣做的伎倆:

<div class="pagebreak">some content</div> 

爲了使這項工作,我沒有使用.pagebreak{page-break-after: always!important;}

但是,代替:.pagebreak{page-break-inside: avoid!important;}

這也很好,注意頁面上打破p rint應該儘可能在dom-tree中高。將分頁規則應用於深度嵌套的元素可能會導致頭痛(或至少對我來說過去)

希望這有助於!