Dynamische Screenshots am Server erstellen mit PhantomJS
Dynamische Screenshots am Server erstellen mit PhantomJS
Der Knackpunkt bei PhantomJS ist die Installation, die Moon in drei Schritten vollzieht. Ein Virtual Private Server (VPS) ist dabei die Grundvoraussetzung, wobei Moon seine Tests auf einem Linode-VPS mit Ubuntu 11.10 durchgeführt hat. Dann hat er X Virtual Framebuffer (Xvfb) und Qt sowie Qt-Webkit installiert, mit denen er virtuelle Fenster erstellen konnte. Für mehr Kompatibilität hat er noch das Flash Plug-in sowie Microsoft-Schriftarten hinzugefügt. Anschließend wurde das PhantomJS-Repository mit Git geklont, und abschließend konnten PhantomJS sowie Qt kompiliert werden.
Nun schreibt Moon ein fünfzeiliges JS-Skript, das alle nötigen Befehle für Phantom bereithält: Es ruft eine bestimmte Website auf, und wenn sie geladen ist, kommt der Callback zum Screenshot-Befehl. Danach wird Phantom beendet. Dieses Skript übergibt er zusammen mit einer Reihe von Parametern an Xvfb, und schon landet das PNG-File im Ordner des JS-Skripts.
Damit das Ganze noch ein wenig mehr Spaß macht, zeigt Moon auch noch, dass man die Elemente der Website frei manipulieren kann. Dafür bindet er in das kleine JS-Skript jQuery-abhängige Funktionen ein, die insgesamt lediglich drei Zeilen zusätzlichen Codes bedeuten.
Als Gast kommentieren:
Gastkommentare werden nach redaktioneller Prüfung freigegeben (bitte Policy beachten).
-
PHP Magazin - Die aktuelle Ausgabe
Inhalt, Editorial, Quellcodes und Link-Tipps zum aktuellen PHP Magazin -
Archiv
-
Digital lesen
-
PHP Magazin Abo

Warenkorb
Login
Registrieren
Kommentare
Ihr Kommentar zum Thema