Download the PHP package marucat/php-puppeteer without Composer
On this page you can find all versions of the php package marucat/php-puppeteer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download marucat/php-puppeteer
More information about marucat/php-puppeteer
Files in marucat/php-puppeteer
Package php-puppeteer
Short Description PHP Wrapper for Google Chrome Puppeteer
License MIT
Homepage http://github.com/its404/php-puppeteer
Informations about the package php-puppeteer
PHP Puppeteer
This project provides the ability to generate PDF/PNG with Puppeteer in PHP
Dependencies
The library is running based on Nodejs(7.6 above) and Puppeteer It is tested under NodeJS 8.
Installation on CentOS 7:
Installation on Ubuntu 16.04:
Installation
Install marucat/php-puppeteer
using Composer.
composer require marucat/php-puppeteer
Usage
Parameters
The library has set some default parameter values to support basic features, you can set the customized parameters to override the default ones, it supports all parameters of Puppeteer API
Sample parameter array:
$config = [
'html' => "<h1>Hello World</h1>",
'pdf' => [
'path' => '/tmp/test.pdf',
'margin' => [
'top' => '10mm',
'right' => '10mm',
'bottom' => '10mm',
'left' => '10mm',
]
]
];
Note:
- If both
$config['pdf']['html']
and $config['pdf']['url'] are set,html
will be picked up.- If
$config['pdf']['path']
is not set, will return pdf data
Import
You need to import this namespace at the top of your PHP class
use Marucat\PhpPuppeteer\Browser;
PDF by URL
You can generate PDF by URL through pdf
function:
public function actionTest1()
{
$config = [
"url" => "https://www.highcharts.com/demo/line-basic",
];
$browser = new Browser();
$browser->isDebug = true;
$content = $browser->pdf($config);
header("Content-type:application/pdf");
echo $content;
}
You can set any parameter in $config
to override the default values
PDF by HTML
You can generate PDF by html code through pdf
function:
public function actionTest2()
{
$config = [
"html" => "<h1>Hello Wolrd</h1>"
];
$browser = new Browser();
$content = $browser->pdf($config);
header("Content-type:application/pdf");
echo $content;
}
Debug The class
Browser
has one parameter$isDebug
, it would be debug mode if it'strue
, detailed error messages would be returned from
PDF to specific path
You can generate PDF to a specific path by setting $config['pdf']['path']
public function actionTest3()
{
$config = [
"html" => "<h1>Hello Wolrd</h1>",
'pdf' => [
'path' => '/tmp/test.pdf',
]
];
$browser = new Browser();
$browser->isDebug = true;
$result = $browser->pdf($params);
if (isset($result['returnVal'])&& $result['returnVal'] == 0) {
echo "PDF generated successfully";
} else {
echo "Failed to generate PDF";
var_dump($result['output']);
}
}
Start a new page on PDF
You can add following html code in the html where you'd like to start a new page for PDF.
<div style="page-break-after:always;"></div>
More Examples?
You can find more examples from here