Headless Chrome est livré dans Chrome 59. C'est un moyen d'exécuter le navigateur Chrome dans un environnement sans tête. Essentiellement, exécuter Chrome sans Chrome ! Il apporte toutes les fonctionnalités de plate-forme Web modernes fournies par Chromium et le moteur de rendu Blink à la ligne de commande.
PHPHeadlessChrome fournit une classe d'assistance à utilisation simple pour créer des PDF et/ou des captures d'écran à l'aide d'une instance Headless Chrome. Déclenchez la génération de PDF/captures d’écran pour les pages Web/chaîne HTML ou URL locale.
Pour utiliser cet assistant PHPHeadlessChrome assurez-vous que Google Chrome est correctement installé à partir de la version 59 ou ultérieure.
Installez le package via composer :
composer require daandesmedt/ PHPHeadlessChrome
Assurez-vous d'inclure le chargeur automatique du compositeur quelque part dans votre base de code.
Utilisez l'outil PHPHeadlessChrome
lorsque vous souhaitez convertir une page Web/un texte HTML ou un fichier HTML (local) en PDF ou en capture d'écran.
Des exemples de travail peuvent être trouvés dans le dossier 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 ();