nuzkito / chrome-html-to-pdf
Converts HTML to PDF using Google Chrome
Installs: 25 148
Dependents: 0
Suggesters: 0
Security: 0
Stars: 40
Watchers: 4
Forks: 6
Open Issues: 0
Requires (Dev)
- phpunit/phpunit: ^6.2
- spatie/pdf-to-text: ^1.0
This package is auto-updated.
Last update: 2024-12-18 09:35:21 UTC
README
Simple wrapper to convert HTML to PDF using Google Chrome in headless mode.
Install
composer require nuzkito/chrome-html-to-pdf
Requires Chrome 59 installed in Linux and Mac, and Chrome 60 in Windows.
To install Chrome in a Linux server based in Debian:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb sudo apt-get install -f
In other cases download it in https://www.google.es/chrome/browser/desktop/index.html
Use
<?php use Nuzkito\ChromePdf\ChromePdf; // By default it will search for Chrome in the default path in each OS, $pdf = new ChromePdf(); // but you need it, you can specify the route to the binary. $pdf = new ChromePdf('/path/to/google-chrome'); // Route when PDF will be saved. $pdf->output('/path/to/result.pdf'); // You can generate a PDF from a url $pdf->generateFromUrl('http://google.es'); // ... from a HTML file $pdf->generateFromFile('/path/to/html/document.html'); // ... or pass a string containing the HTML. $pdf->generateFromHtml('<h1>Hello world!</h1>');
Tests
You need to install pdftotext
to execute the automated tests:
sudo apt-get install poppler-utils
And then, execute vendor/bin/phpunit
.
Config
If you need to specify the path to Chrome, you can create a config.php
file with this content:
<?php $_ENV['chrome-executable'] = '/path/to/google-chrome';