KDE bietet das Kommandozeilenprogramm kwebdesktop an, das vom KDE HTML Widget Gebrauch macht. Dieses Programm lädt eine Webseite und wandelt sie in ein PNG-Bild um. Es wird folgendermaßen aufgerufen:
kwebdesktop x y datei url
x ist die Breite des Bildes in Pixeln, y die Höhe des Bildes in Pixeln, datei der Name der zu erzeugenden PNG-Datei und url der URL der zu ladenden Seite.
In Suse Linux ist kwebdesktop Bestandteil des Paketes kdebase; getestet wurde Version 2.2.1.
Anmerkungen
Falls man nicht gerade einen mit überduchschnittlich viel RAM bestückten Server sein Eigen nennt, sollte man diese Lösung nicht auf einen Server nutzen, auf dem öffentliche Dienste wie Webserver, MySQL, Mail u.a. angeboten werden.
Die Installation des dazu notwendigen kdebase4-Pakets (openSuse11) benötig durchschnittlich 340MB mehr RAM (das wurde mit einem einfachen free -m vor und nach der Installation getestet). Ferner müssen noch die Pakete xorg-x11-server-extra, kde4-konqueror und kde4-webkitpart installiert werden. Zur Laufzeit kommen hier definitiv ~500MB Mehrverbrauch an Arbeitsspeicher dazu.
Auf einer Desktop-Maschine mit grafischem Interface ist das natürlich meistens alles bereits installiert. Der virtuelle Framebuffer Xvfb für den X-Server wird auf Desktop-Maschinen nicht benötigt; folglich muss dann auch nicht das Paket xorg-x11-server-extra installiert werden.
Wer das trotzdem auf seinem Server probieren will, der sollte die oben beschriebenen Pakete installieren und dann wie folgt vorgehen:
# 1. X starten
linux:~> Xvfb :10 &
[1] 11237
linux:~> Could not init font path element /usr/share/fonts/TTF/,
removing from list!
Could not init font path element /usr/share/fonts/OTF, removing from list!
Could not init font path element /usr/share/fonts/CID/, removing from list!
# 2. Display umlenken
linux:~> export DISPLAY=:10
# 3. Rendern
linux:~> kwebdesktop 1024 768 bla.png \
http://www.php-faq.de/q/q-grafik-webseite.html
Xlib: extension "XInputExtension" missing on display ":10.0".
Failed to get list of devices
Xlib: extension "XInputExtension" missing on display ":10.0".
Failed to get list of devices
kbuildsycoca running...
FreeFontPath: FPE "/usr/share/fonts/misc/" refcount is 2, should be 1;
fixing.
Could not init font path element /usr/share/fonts/TTF/, removing from list!
Could not init font path element /usr/share/fonts/OTF, removing from list!
Could not init font path element /usr/share/fonts/CID/, removing from list!
# 4. Resizen + Typ ändern
linux:~> convert -resize 256x192 bla.png fasel.jpg
Alternativen
- browsershots
-
Die Webseite browsershots.org bietet neben ihrem Service, Screenshots von allen möglichen Webseiten in unterschiedlichsten Browsern zu machen, auch die Möglichkeit deren Server (in Python) komplett zu installieren um damit ein Bildschirmfoto zu machen. (Es lassen sich auch nur Teile davon einsetzen)
Genaueres zur Installation findet sich im Wiki des Projektes.
- WebThumb
-
Boutell, die Firma, die die GD-Lib anbietet, welche auch in PHP zum Einsatz kommt, bietet mit Webthumb ein Paket an, mit dem sich Screenshots einer Webseite im Mozilla-Webbrowser erzeugen lassen.






