Bien sûr que vous pouvez, mais vous devrez rendre la page avec quelque chose. Si vous voulez vraiment n'utiliser que du php, je vous suggère de HTMLTOPS qui rend la page et l'affiche dans un fichier ps (ghostscript), puis la convertit en .jpg, .png, .pdf. peut être un peu plus lent avec des pages complexes (et ne supporte pas toutes les CSS).
Sinon, vous pouvez utiliser wkhtmltopdf pour sortir une page html en pdf, jpg, etc Accepter CSS2.0, utiliser le webkit (wrapper de safari) pour rendre la page donc ça devrait aller. Vous devez l'installer sur votre serveur, aussi
UPDATE Désormais, avec la nouvelle fonctionnalité HTML5 et JS, il est également possible de rendre la page dans un objet canevas en utilisant Javascript. Voici une belle bibliothèque pour le faire : Html2Canvas et voici une mise en œuvre du même auteur pour obtenir un retour d'information comme G+. Une fois que vous avez rendu le dom dans le canevas, vous pouvez ensuite l'envoyer au serveur via ajax et l'enregistrer en tant que jpg.
EDIT : Vous pouvez utiliser l'outil imagemagick pour transformer le pdf en png. Ma version de wkhtmltopdf ne supporte pas les images. Par exemple convert html.pdf -append html.png
.
EDIT : Ce petit shell script donne un exemple d'utilisation simple / mais fonctionnel sous linux avec php5-cli et les outils mentionnés ci-dessus.
EDIT J'ai remarqué que l'équipe wkhtmltopdf travaille sur un autre projet : wkhtmltoimage, qui vous donne directement le jpg.
3 votes
Si vous préférez une solution de dépôt, jetez un coup d'œil à Usersnap - c'est un service sympa qui propose des captures d'écran précises de sites web. Il suffit d'ajouter un petit extrait Javascript à votre page pour que cela fonctionne.
1 votes
Usersnap ne peut pas faire face aux pages web qui utilisent Ajax pour générer le contenu comme sur cette page . Comment faire ? Disons que la capture d'écran doit être faite 10 secondes après la fin du chargement initial de la page.
1 votes
@rubo77 : Usersnap supporte de tels DOMs dynamiques, je l'ai essayé avec votre page - la capture d'écran reproduit la situation exacte y compris toutes les positions.