O pacote pode converter uma página da web em uma imagem ou PDF. A conversão é feita nos bastidores pelo Puppeteer, que controla uma versão sem cabeça do Google Chrome.
Aqui está um exemplo rápido:
use SpatieBrowsershotBrowsershot;// uma imagem será salvaBrowsershot::url('https://example.com')->save($pathToImage);
Ele salvará um pdf se o caminho passado para o método save
tiver uma extensão pdf
.
// um pdf será salvoBrowsershot::url('https://example.com')->save('example.pdf');
Você também pode usar uma entrada html arbitrária, basta substituir o método url
por html
:
Browsershot::html('<h1>Olá mundo!!</h1>')->save('example.pdf');
Se sua entrada HTML já estiver em um arquivo localmente, use:
Browsershot::htmlFromFilePath('/local/path/to/file.html')->save('example.pdf');
O Browsershot também pode obter o corpo de uma página HTML após a execução do JavaScript:
Browsershot::url('https://example.com')->bodyHtml(); //retorna o html do corpo
Se você deseja recuperar uma lista de array com todas as solicitações que a página acionou, você pode fazer isso:
$requests = Browsershot::url('https://example.com') ->triggeredRequests();foreach ($requests as $request) {$url = $request['url']; //https://example.com/}
Para usar o novo modo headless do Chrome, passe o método newHeadless
:
Browsershot::url('https://example.com')->newHeadless()->save($pathToImage);
Aprenda como criar um pacote como este assistindo nosso vídeo curso premium:
Investimos muitos recursos na criação dos melhores pacotes de código aberto. Você pode nos apoiar comprando um de nossos produtos pagos.
Agradecemos muito que você nos envie um cartão postal de sua cidade natal, mencionando qual(is) de nossos pacotes você está usando. Você encontrará nosso endereço em nossa página de contato. Publicamos todos os cartões postais recebidos em nosso mural virtual de cartões postais.
Toda a documentação está disponível em nosso site de documentação.
Para executar o testsuite, você precisará ter o Puppeteer instalado. Consulte os requisitos do Browsershot aqui. Normalmente npm -gi puppeteer
resolverá o problema.
Além disso, você precisará da CLI pdftotext
que faz parte do pacote poppler-utils. Mais informações podem ser encontradas no leia-me spatie/pdf-to-text. Normalmente, brew install poppler-utils
será suficiente.
Por fim execute os testes com:
teste de compositor
Consulte CONTRIBUINDO para obter detalhes.
Se você encontrou um bug relacionado à segurança, envie um email para [email protected] em vez de usar o rastreador de problemas.
Se você não conseguir instalar o Node e o Puppeteer, dê uma olhada na v2 do browsershot, que usa a CLI sem cabeça do Chrome para fazer uma captura de tela. v2
não é mais mantido, mas deve funcionar muito bem.
Se usar o Chrome headless não funcionar, dê uma olhada na v1
deste pacote que usa o binário PhantomJS
abandonado.
Freek Van der Herten
Todos os colaboradores
E um agradecimento especial ao Caneco pelo logótipo
A licença MIT (MIT). Consulte Arquivo de licença para obter mais informações.