Pergunta

Eu sei que não há uma maneira direta de capturar uma tela de uma página web com PHP. Qual seria a maneira mais simples de fazer isso? Existem algumas ferramentas de linha de comando que pode fazer isso para que eu possa ser capaz de executar a partir de um script PHP (Estou pensando em algo que seria executado em um 'NIX OS (OS X e / ou Linux em particular)?

Edit: Ou talvez algum tipo de serviço web que eu poderia acessar via SOAP ou descansar ou ...

Edit # 2: Eu achei uma pergunta relacionados discutindo a opção CLI, mas eu ainda estaria aberto a outros métodos se alguém sabe de nada.

Foi útil?

Solução

Consulte webkit2png para um programa de linha de comando OSX que faz isso.

A página também menciona alternativas Linux.

[editar]: wkhtml2image é o mais novo garoto na cidade, e ele funciona melhor do que qualquer outra coisa que eu já utilizado.

[edit2]: A partir de 2014, PhantomJS parece ser o caminho a percorrer, já que tem a versão mais recente webkit das alternativas que eu sei sobre.

Outras dicas

html2ps faz um trabalho decente para as páginas relativamente simples e requer muito pouco em termos de binários externos, o que significa que é muito fácil de instalar / uso. Se você controla as páginas que você estará capturando, em seguida, você pode garantir que eles vão processar apropriadamente em html2ps. Se você está esperando para capturar URLs arbitrários, no entanto, não tenho a certeza de que a porta PHP de html2ps está à altura da tarefa. Também não é a coisa mais rápida do mundo (espera tornar vezes nos segundos para páginas complexas), mas isso realmente não importa para algumas aplicações.

Não sei se isso seria o suficiente para você, porque tem algumas coisas adicionado lá, mas seria vale a pena dar-lhe uma tentativa: http://www.snap.com

Você pode usar as funções GD imagegrabscreen() ou imagegrabwindow() para tirar um screenshot, mas eles são apenas disponível no Windows no momento.

É possível obter uma imagem codificada base64 de um site usando a API PageSpeed ??Google. Você pode especificar desktop ou exibições móveis, mas você está limitado a uma imagem de um determinado tamanho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top