Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cangelis/php-pdf
Yet another HTML to PDF Converter based on wkhtmltopdf
https://github.com/cangelis/php-pdf
pdf php-pdf wkhtmltopdf
Last synced: about 2 months ago
JSON representation
Yet another HTML to PDF Converter based on wkhtmltopdf
- Host: GitHub
- URL: https://github.com/cangelis/php-pdf
- Owner: cangelis
- License: mit
- Created: 2014-01-05T22:10:15.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2021-01-08T13:26:46.000Z (about 4 years ago)
- Last Synced: 2024-12-09T02:51:48.176Z (about 2 months ago)
- Topics: pdf, php-pdf, wkhtmltopdf
- Language: PHP
- Size: 20.5 KB
- Stars: 53
- Watchers: 6
- Forks: 19
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
# HTML to PDF Converter based on wkhtmltopdf for PHP
This is a yet another html to pdf converter for php. This package uses [wkhtmltopdf](https://github.com/antialize/wkhtmltopdf) as a third-party tool so `proc_*()` functions have to be enabled in your php configurations and `wkhtmltopdf` tool should be installed in your machine (You can download it from [here](http://wkhtmltopdf.org/)).
## Installation
Add this to your `composer.json`
{
"require": {
"cangelis/pdf": "2.2.*"
}
}and run `composer.phar update`
## Some examples
$pdf = new CanGelis\PDF\PDF('/usr/bin/wkhtmltopdf');
echo $pdf->loadHTML('Hello World')->get();
echo $pdf->loadURL('http://www.laravel.com')->grayscale()->pageSize('A3')->orientation('Landscape')->get();
echo $pdf->loadHTMLFile('/home/can/index.html')->lowquality()->pageSize('A2')->get();
## Saving the output
php-pdf uses [League\Flysystem](https://github.com/thephpleague/flysystem) to save the file to the local or remote filesystems.
### Usage
$pdfObject->save(string $filename, League\Flysystem\AdapterInterface $adapter, $overwrite)
`filename`: the name of the file you want to save with
`adapter`: FlySystem Adapter
`overwrite`: If set to `true` and the file exists it will be overwritten, otherwise an Exception will be thrown.
### Examples
// Save the pdf to the local file system
$pdf->loadHTML('Hello World')
->save("invoice.pdf", new League\Flysystem\Adapter\Local(__DIR__.'/path/to/root'));// Save to AWS S3
$client = S3Client::factory([
'key' => '[your key]',
'secret' => '[your secret]',
]);
$pdf->loadHTML('Hello World')
->save("invoice.pdf", new League\Flysystem\Adapter\AwsS3($client, 'bucket-name', 'optional-prefix'));// Save to FTP
$ftpConf = [
'host' => 'ftp.example.com',
'username' => 'username',
'password' => 'password',/** optional config settings */
'port' => 21,
'root' => '/path/to/root',
'passive' => true,
'ssl' => true,
'timeout' => 30,
];
$pdf->loadHTML('Hello World')
->save("invoice.pdf", new League\Flysystem\Adapter\Ftp($ftpConf));// Save to the multiple locations and echo to the screen
echo $pdf->loadHTML('Hello World')
->save("invoice.pdf", new League\Flysystem\Adapter\Ftp($ftpConf))
->save("invoice.pdf", new League\Flysystem\Adapter\AwsS3($client, 'bucket-name', 'optional-prefix'))
->save("invoice.pdf", new League\Flysystem\Adapter\Local(__DIR__.'/path/to/root'))
->get();Please see all the available adapters on the [League\Flysystem](https://github.com/thephpleague/flysystem)'s documentation
## Documentation
You can see all the available methods in the full [documentation](https://github.com/cangelis/php-pdf/blob/master/DOCUMENTATION.md) file
## Contribution
Feel free to contribute!