Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daandesmedt/phpheadlesschrome
A PHP wrapper for using Google Chrome Headless mode. Convert URL or HTML to a PDF / screenshot. Easy to use and OOP interfaced.
https://github.com/daandesmedt/phpheadlesschrome
chrome chrome-browser chromium composer headless headless-chrome html html-to-image html-to-pdf pdf pdf-generation php php-html php-library screenshot url-to-image url-to-pdf webpage
Last synced: 2 days ago
JSON representation
A PHP wrapper for using Google Chrome Headless mode. Convert URL or HTML to a PDF / screenshot. Easy to use and OOP interfaced.
- Host: GitHub
- URL: https://github.com/daandesmedt/phpheadlesschrome
- Owner: DaanDeSmedt
- License: mit
- Created: 2017-11-16T23:14:32.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-24T20:18:30.000Z (9 months ago)
- Last Synced: 2024-04-24T21:30:13.580Z (9 months ago)
- Topics: chrome, chrome-browser, chromium, composer, headless, headless-chrome, html, html-to-image, html-to-pdf, pdf, pdf-generation, php, php-html, php-library, screenshot, url-to-image, url-to-pdf, webpage
- Language: PHP
- Homepage:
- Size: 48.8 KB
- Stars: 89
- Watchers: 5
- Forks: 20
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
PHPHeadlessChrome
===============Headless Chrome is shipping in Chrome 59. It's a way to run the Chrome browser in a headless environment. Essentially, running Chrome without chrome! It brings all modern web platform features provided by Chromium and the Blink rendering engine to the command line.
PHPHeadlessChrome provides a simple usage helper class to create PDF and / or screenshots using a Headless Chrome instance.
**Trigger PDF / Screenshots generation for webpages / string HTML or local URL.**In order to use this PHPHeadlessChrome helper make sure Google Chrome is correctly installer from version 59 or onwards.
[![Latest Stable Version](https://poser.pugx.org/daandesmedt/phpheadlesschrome/v)](https://packagist.org/packages/daandesmedt/phpheadlesschrome)
[![Total Downloads](https://poser.pugx.org/daandesmedt/phpheadlesschrome/downloads)](https://packagist.org/packages/daandesmedt/phpheadlesschrome)
[![Daily Downloads](https://poser.pugx.org/daandesmedt/phpheadlesschrome/d/daily)](https://packagist.org/packages/daandesmedt/phpheadlesschrome)
[![License](https://poser.pugx.org/daandesmedt/phpheadlesschrome/license)](https://packagist.org/packages/daandesmedt/phpheadlesschrome)## Installation
Install the package through [composer](http://getcomposer.org):
```
composer require daandesmedt/phpheadlesschrome
```Make sure, that you include the composer [autoloader](https://getcomposer.org/doc/01-basic-usage.md#autoloading) somewhere in your codebase.
## Usage
Use the `PHPHeadlessChrome` tool when you want to convert a webpage / HTML text or (local) HTML file to a PDF or image screenshot.
## Working examples
Working examples can be found in the `examples` folder.
## Webpage (URL) to PDF
```php
setUrl('http://www.google.be');
$headlessChromer->setBinaryPath('C:\Program Files (x86)\Google\Chrome\Application\chrome');
$headlessChromer->setOutputDirectory(__DIR__);
$headlessChromer->toPDF('output.pdf');print 'PDF generated to : ' . $headlessChromer->getFilePath();
```## Webpage (URL) to Screenshot (image)
```php
setUrl('http://www.google.be');
$headlessChromer->setBinaryPath('C:\Program Files (x86)\Google\Chrome\Application\chrome');
$headlessChromer->setOutputDirectory(__DIR__);
$headlessChromer->toScreenShot('output.jpg');print 'Screenshot saved to : ' . $headlessChromer->getFilePath();
```## HTML (String) to PDF
```php
setBinaryPath('C:\Program Files (x86)\Google\Chrome\Application\chrome');
$headlessChromer->setOutputDirectory(__DIR__);
$headlessChromer->setHTML('Headless Chrome PHP example
HTML to PDF
');
$headlessChromer->toPDF('output.pdf');print 'PDF generated to : ' . $headlessChromer->getFilePath();
```## HTML (String) to Screenshot (image)
```php
setBinaryPath('C:\Program Files (x86)\Google\Chrome\Application\chrome');
$headlessChromer->setOutputDirectory(__DIR__);
$headlessChromer->setHTML('Headless Chrome PHP example
HTML to PDF
');
$headlessChromer->toScreenShot('output.jpg');print 'Screenshot saved to : ' . $headlessChromer->getFilePath();
```## HTML local file to PDF
```php
setBinaryPath('C:\Program Files (x86)\Google\Chrome\Application\chrome');
$headlessChromer->setOutputDirectory(__DIR__);
$headlessChromer->setHTMLFile(__DIR__ . '\assets\HTMLFile.html');
$headlessChromer->toPDF('output.pdf');print 'PDF generated to : ' . $headlessChromer->getFilePath();
```## HTML local file to Screenshot (image)
```php
setBinaryPath('C:\Program Files (x86)\Google\Chrome\Application\chrome');
$headlessChromer->setOutputDirectory(__DIR__);
$headlessChromer->setHTMLFile(__DIR__ . '\assets\HTMLFile.html');
$headlessChromer->toScreenShot('output.jpg');print 'Screenshot saved to : ' . $headlessChromer->getFilePath();
```## HTML to DOM dump
```php
setBinaryPath('C:\Program Files (x86)\Google\Chrome\Application\chrome');
$headlessChromer->setOutputDirectory(__DIR__);
$headlessChromer->setHTMLFile(__DIR__ . '\assets\HTMLFile.html');var_dump($headlessChromer->getDOM());
```## Set mobile mode
```php
$headlessChromer->useMobile();
```## Set window size
```php
$headlessChromer->setWindowSize(375, 667);
```## Disable display of header and footer in the PDF print
```php
$headlessChromer->disablePDFHeader();
```