2016-03-31 4 views
6

Ich verwende wkhtmltopdf 0.12.3.2 unter Windows.wo hinzufügen page-break bezogen css in wkhtmltopdf?

Ich weiß, dass es viele Fragen und Antworten zu diesem Thema gibt, aber ich kann immer noch keine Antwort auf mein Problem finden; Ich weiß nicht, wo ich das entsprechende CSS platzieren soll - oder das CSS funktioniert nicht für irgendeinen anderen Grund:

zum Beispiel habe ich versucht, das CSS mit Seitenumbruch direkt in meine HTML-Datei zu bringen, die ich möchte rendern. Ich habe versucht, Seitenumbrüche mit <span class="break_here"></span> in meinem <body> zu zwingen:

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

dies nicht tun nichts.

dann habe ich versucht, es auch in @media print{} oder @media screen{} zu setzen, die alles hat auch nicht ändern:

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

Dank!

bearbeiten: Es gibt noch eine weitere Möglichkeit, indem Sie die Option --user-style-sheet für die Verwendung eines externen Stylesheets hinzufügen.

+0

Seitenumbruch macht nur Sinn, wenn über das Drucken einer HTML-Seite gesprochen wird, weil der Inhalt dann in tatsächliche Seiten getrennt wird. Wenn ein gerenderter HTML-Code in einem Browser angezeigt wird, hat das Brechen von Seiten keinen Sinn, da es als fortlaufender Bildschirm angezeigt wird. Also, was genau willst du? Damit diese Elemente beim Drucken nur jeweils eine Seite auf jeder Seite anzeigen? – Tiramonium

Antwort

0

Hinzufügen von Seitenumbrüchen über ein eigenständiges Element in wkhtmltopdf hat mich auch Probleme verursacht.

Ich habe festgestellt, dass das Anwenden der Seitenumbrüche auf ein Element, das den Inhalt umschließt, wesentlich zuverlässiger ist.

funktioniert das nicht so gut:

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

Während dies funktioniert der Trick:

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

diese Arbeit zu machen, ich nicht .pagebreak{page-break-after: always!important;}

Aber stattdessen verwendet verwendet haben : .pagebreak{page-break-inside: avoid!important;}

Es ist auch gut zu beachten, dass Seitenumbrüche auf p Rint sollte so hoch wie möglich im Dom-Baum sein. Das Anwenden von Seitenumbruchregeln auf Elemente, die tief verschachtelt sind, kann Kopfschmerzen verursachen (oder zumindest für mich in der Vergangenheit)

Hoffe, das hilft!