PhantomJS Renderseitenschriftarten

9

Ich verwende PhantomJS, um Screenshots von Webseiten zu erstellen.

Ich habe andere Beiträge zu Problemen mit @ font-face gesehen, aber die Schriftarten auf meinen Seiten werden korrekt dargestellt. Das einzige Problem, das ich habe, ist, dass jedes Mal, wenn ich einen Screenshot mache, die Schriftarten etwas anders aussehen als beim vorherigen Screenshot. Obwohl sie korrekt gerendert werden, sind sie in ihrem Aussehen auf dem Screenshot inkonsistent.

Ich habe eine Reihe von Korrekturen versucht, die meisten basieren auf der Annahme, dass es etwas mit dem Screenshot zu tun hat, bevor die Seite fertig ist, aber das scheint nicht das Problem zu sein. Zum Beispiel habe ich den Screenshot verzögert, so dass die Schriftart geladen und gerendert werden kann, aber das löst das Problem nicht.

Ich habe versucht, an verschiedene Seitenereignisse zu binden, aber wieder kein Glück.

Ich habe Screenshots angehängt, um den Unterschied zu zeigen. Das Problem ist, ich brauche den gerenderten Screenshot im Kontext dessen, wofür ich ihn verwende.

Als Anmerkung habe ich auch CasperJS ausprobiert (wissend, dass es auf PhantomJS basiert, also erwarte ich nicht, dass es anders ist).

    
JonB 12.03.2013, 17:39
quelle

2 Antworten

0

Haben Sie es satt, das DOM für Schriftarten zu sehen Ereignisse? Sie können auch versuchen, alle x Sekunden einen Screenshot zu machen, um eine Moment-Moment-Übersicht zu erstellen (beachten Sie, dass dadurch viele leere und doppelte Bilder entstehen. Wenn das ein Problem ist, geben Sie einfach eine Min-Dateigröße ein oder prüfen Sie, ob zwei Dateien vorhanden sind haben die gleiche Größe).

%Vor%     
Indolering 19.03.2013 03:16
quelle
0

Sie können Ihren Screenshot mit der folgenden Methode verzögern:

%Vor%

Hier wird Ihr Screenshot 2000ms nach dem Laden Ihrer Seite aufgenommen. Stellen Sie die Verzögerung entsprechend ein, damit die Seite alle Ressourcen vollständig laden kann.

    
charlybr 02.07.2013 14:08
quelle

Tags und Links