Headless Chrome é fornecido no Chrome 59. É uma maneira de executar o navegador Chrome em um ambiente sem cabeça. Essencialmente, executando o Chrome sem Chrome! Ele traz todos os recursos modernos da plataforma web fornecidos pelo Chromium e pelo mecanismo de renderização Blink para a linha de comando.
PHPHeadlessChrome fornece uma classe auxiliar de uso simples para criar PDF e/ou capturas de tela usando uma instância do Headless Chrome. Acione a geração de PDF/capturas de tela para páginas da web/string HTML ou URL local.
Para usar este auxiliar PHPHeadlessChrome certifique-se de que o Google Chrome esteja instalado corretamente a partir da versão 59 ou superior.
Instale o pacote através do compositor:
composer require daandesmedt/ PHPHeadlessChrome
Certifique-se de incluir o autoloader do compositor em algum lugar da sua base de código.
Use a ferramenta PHPHeadlessChrome
quando desejar converter uma página da web/texto HTML ou arquivo HTML (local) em um PDF ou captura de tela de imagem.
Exemplos de trabalho podem ser encontrados na pasta de examples
.
<?php
require __DIR__ . ' /../vendor/autoload.php ' ;
use daandesmedt PHPHeadlessChrome HeadlessChrome ;
$ headlessChromer = new HeadlessChrome ();
$ headlessChromer -> setUrl ( ' http://www.google.be ' );
$ headlessChromer -> setBinaryPath ( ' C:Program Files (x86)GoogleChromeApplicationchrome ' );
$ headlessChromer -> setOutputDirectory ( __DIR__ );
$ headlessChromer -> toPDF ( ' output.pdf ' );
print ' PDF generated to : ' . $ headlessChromer -> getFilePath ();
<?php
require __DIR__ . ' /../vendor/autoload.php ' ;
use daandesmedt PHPHeadlessChrome HeadlessChrome ;
$ headlessChromer = new HeadlessChrome ();
$ headlessChromer -> setUrl ( ' http://www.google.be ' );
$ headlessChromer -> setBinaryPath ( ' C:Program Files (x86)GoogleChromeApplicationchrome ' );
$ headlessChromer -> setOutputDirectory ( __DIR__ );
$ headlessChromer -> toScreenShot ( ' output.jpg ' );
print ' Screenshot saved to : ' . $ headlessChromer -> getFilePath ();
<?php
require __DIR__ . ' /../vendor/autoload.php ' ;
use daandesmedt PHPHeadlessChrome HeadlessChrome ;
$ headlessChromer = new HeadlessChrome ();
$ headlessChromer -> setBinaryPath ( ' C:Program Files (x86)GoogleChromeApplicationchrome ' );
$ headlessChromer -> setOutputDirectory ( __DIR__ );
$ headlessChromer -> setHTML ( ' <h1>Headless Chrome PHP example</h1><h3>HTML to PDF</h3> ' );
$ headlessChromer -> toPDF ( ' output.pdf ' );
print ' PDF generated to : ' . $ headlessChromer -> getFilePath ();
<?php
require __DIR__ . ' /../vendor/autoload.php ' ;
use daandesmedt PHPHeadlessChrome HeadlessChrome ;
$ headlessChromer = new HeadlessChrome ();
$ headlessChromer -> setBinaryPath ( ' C:Program Files (x86)GoogleChromeApplicationchrome ' );
$ headlessChromer -> setOutputDirectory ( __DIR__ );
$ headlessChromer -> setHTML ( ' <h1>Headless Chrome PHP example</h1><h3>HTML to PDF</h3> ' );
$ headlessChromer -> toScreenShot ( ' output.jpg ' );
print ' Screenshot saved to : ' . $ headlessChromer -> getFilePath ();
<?php
require __DIR__ . ' /../vendor/autoload.php ' ;
use daandesmedt PHPHeadlessChrome HeadlessChrome ;
$ headlessChromer = new HeadlessChrome ();
$ headlessChromer -> setBinaryPath ( ' C:Program Files (x86)GoogleChromeApplicationchrome ' );
$ headlessChromer -> setOutputDirectory ( __DIR__ );
$ headlessChromer -> setHTMLFile ( __DIR__ . ' assetsHTMLFile.html ' );
$ headlessChromer -> toPDF ( ' output.pdf ' );
print ' PDF generated to : ' . $ headlessChromer -> getFilePath ();
<?php
require __DIR__ . ' /../vendor/autoload.php ' ;
use daandesmedt PHPHeadlessChrome HeadlessChrome ;
$ headlessChromer = new HeadlessChrome ();
$ headlessChromer -> setBinaryPath ( ' C:Program Files (x86)GoogleChromeApplicationchrome ' );
$ headlessChromer -> setOutputDirectory ( __DIR__ );
$ headlessChromer -> setHTMLFile ( __DIR__ . ' assetsHTMLFile.html ' );
$ headlessChromer -> toScreenShot ( ' output.jpg ' );
print ' Screenshot saved to : ' . $ headlessChromer -> getFilePath ();
<?php
require __DIR__ . ' /../vendor/autoload.php ' ;
use daandesmedt PHPHeadlessChrome HeadlessChrome ;
$ headlessChromer = new HeadlessChrome ();
$ headlessChromer -> setBinaryPath ( ' C:Program Files (x86)GoogleChromeApplicationchrome ' );
$ headlessChromer -> setOutputDirectory ( __DIR__ );
$ headlessChromer -> setHTMLFile ( __DIR__ . ' assetsHTMLFile.html ' );
var_dump ( $ headlessChromer -> getDOM ());
$ headlessChromer -> useMobile ();
$ headlessChromer -> setWindowSize ( 375 , 667 );
$ headlessChromer -> disablePDFHeader ();