Der Internet Explorer verfügt über eine Druckvorlage -Engine , wo ich DEVICERECT
element verwenden kann, um eine physische Seite darzustellen, und dann LAYOUTRECT
element als rechteckige Ansicht verwenden, um das HTML-Dokument in die Seite zu leiten und die Seitennumerierung zu steuern. Dies verhindert, dass Zeilen in der Mitte zwischen benachbarten Seiten abgeschnitten werden. Dieser Mechanismus wird im Detail hier beschrieben.
Bietet WebKit eine ähnliche Funktion? Was macht PhantomJS konkret? Ich suche nach etwas, das erlauben würde, ein existierendes HTML-Dokument zu paginieren, das keine vordefinierten Seitenumbrüche hat, und es paginiert als ein neues transformiertes HTML- oder PDF-Dokument anzusehen, ohne dass Zeilen in der Mitte abgeschnitten werden.
> Die Browser-Engine sollte sich um alles kümmern und Sie können es mit einem Stylesheet für media="print"
unterstützen.
Um beispielsweise Seitenumbrüche zu erzwingen, so dass jede Überschrift der Ebene 1 oder 2 ( <h1>
oder <h2>
) am Anfang einer neuen Seite platziert wird, verwenden Sie page-break-before
:
In Chrome, IE & amp; Opera können Sie Witwen und Waisenkinder , aber es ist noch nicht in WebKit gelandet, also könntest du jetzt
verwenden %Vor%um Seitenumbrüche in Absätzen zu vermeiden.
Sie können sogar die Ränder für erste, linke und rechte Seiten separat steuern.
Phantoms render()
verwendet Stylesheets für Druckmedien, wenn die Ausgabe eine PDF-Datei ist. rasterize.js
Beispiel sieht wie eine fertige Drucklösung aus.
Diese Funktion funktioniert gut.
%Vor%Dadurch wird die gesamte Tabelle in mehrere Abschnitte aufgeteilt ...
Code aus diesem Artikel und diese Seite .
Tags und Links javascript html printing webkit phantomjs