PhantomJs è la soluzione
if(phantom.state.length === 0){
phantom.state = '0_home';
phantom.open('http://www.mini.de');
}
else if(phantom.state === '0_home'){
phantom.viewportSize = {width: 800, height: 600};
phantom.sleep(2000);
phantom.render('home.png');
phantom.exit(0);
}
http://cutycapt.sourceforge.net/
CutyCapt è una piccola utility a riga di comando multipiattaforma per acquisire il rendering di WebKit di una pagina Web in una varietà di formati vettoriali e bitmap, inclusi SVG, PDF, PS, PNG, JPEG, TIFF, GIF e BMP.
Non c'è PHP-api, ma puoi sempre usarla tramite exec
di PHP funzioni.
Ecco uno script migliore che utilizza phantomJS 1.5
var page = require('webpage').create();
page.open('http://www.google.com', function() {
page.viewportSize = {width: 1024, height: 768};
page.render('screenshot.png');
phantom.exit();
});