Phantomjs zeigt Fußzeilen mit benutzerdefinierten Stilen nicht an

8

Ich habe das folgende Beispiel:

%Vor%

Im obigen Beispiel verwende ich die footer_style-Klasse, die in meiner CSS-Datei wie folgt aussieht:

%Vor%

Aber leider funktioniert das nicht. Ich versuche, PDF-Datei wie folgt zu erstellen:

%Vor%     
Erik 06.07.2013, 11:53
quelle

3 Antworten

9

Wir wissen, dass Klassen nicht funktionieren, aber Inline-Stile. Was wir tun können, ist die Klasse durch den berechneten Stil zu ersetzen.

Hier ist eine Funktion, die ein Stück HTML benötigt, ein temporäres Element im Körper mit dem HTML erzeugt, den Stil für jedes Element mit einer Klasse berechnet, den berechneten Stil inline hinzufügt und das neue HTML zurückgibt.

> %Vor%

Rufen Sie dann einfach diese Funktion in Ihrer Fußzeile auf:

%Vor%

Sie müssen all dies in page.open() verschieben.

Ich habe es getestet und die Fußzeile ist nach rechts ausgerichtet.

    
mak 15.07.2013 16:54
quelle
4

Ich habe ein Update auf maks exzellente Antwort für PhantomJS 1.9.7.

Diese Version behebt:

  • Umgehungsfehler, der das übergeordnete Dokument ausblendet (PhantomJS 1.9.7)
  • Stilmixups, wenn Stile verschachtelt sind (stattdessen Tiefentraversierung)
  • Funktioniert auch, wenn Tags keine Klassen haben
%Vor%     
Daan Broekhof 04.12.2014 14:08
quelle
3

Aus meiner bisherigen Erfahrung unterstützt phantomjs keine Stile in benutzerdefinierten Kopf- / Fußzeilen.

Die einzige Lösung, die ich gefunden habe, ist, einen Inline-Stil wie folgt anzuwenden:

%Vor%

Hinweis: Ein Komma fehlt in Ihrem Code nach margin: "1cm"

    
Cybermaxs 08.07.2013 14:53
quelle