Безголовый Chrome поставляется в Chrome 59. Это способ запуска браузера Chrome в автономной среде. По сути, запуск Chrome без Chrome! Он переносит все современные функции веб-платформы, предоставляемые Chromium и механизмом рендеринга Blink, в командную строку.
PHPHeadlessChrome предоставляет простой вспомогательный класс для создания PDF-файлов и/или снимков экрана с использованием экземпляра Headless Chrome. Создание триггера PDF/скриншотов для веб-страниц/строчного HTML или локального URL-адреса.
Чтобы использовать этот помощник PHPHeadlessChrome , убедитесь, что Google Chrome правильно установлен, начиная с версии 59 или более поздней.
Установите пакет через композитор:
composer require daandesmedt/ PHPHeadlessChrome
Убедитесь, что вы включили автозагрузчик композитора где-нибудь в своей кодовой базе.
Используйте инструмент PHPHeadlessChrome
, если вы хотите преобразовать текст веб-страницы/HTML или (локальный) HTML-файл в PDF-файл или скриншот изображения.
Рабочие примеры можно найти в папке 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 ();