wemersonjanuario/pdf

HTML to PDF Converter based on wkhtmltopdf
19,553 5
Install
composer require wemersonjanuario/pdf
Latest Version:1.1.1
PHP:>=5.3.0
License:MIT
Last Updated:May 5, 2018
Links: GitHub  ·  Packagist
Maintainer: wemersonjanuario

HTML to PDF Converter based on wkhtmltopdf for PHP

This is a yet another html to pdf converter for php. This package uses 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).

Check out the Laravel version if you're using Laravel Framework.

Installation

To install this package, run this command:

composer require wemersonjanuario/pdf

Some examples

$pdf = new Novanti\PDF\PDF('/usr/bin/wkhtmltopdf');

echo $pdf->loadHTML('<b>Hello World</b>')->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 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('<b>Hello World</b>')
    ->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('<b>Hello World</b>')
    ->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('<b>Hello World</b>')
    ->save("invoice.pdf", new League\Flysystem\Adapter\Ftp($ftpConf));

// Save to the multiple locations and echo to the screen
echo $pdf->loadHTML('<b>Hello World</b>')
        ->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's documentation

Documentation

You can see all the available methods in the full documentation file

Contribution

Feel free to contribute!

Related Packages

cangelis/l4pdf

Yet another HTML to PDF Converter for Laravel4

8,820 54
wemersonjanuario/laravelpdf

Another HTML to PDF Converter for Laravel

13,040 28
anam/phantommagick

PhantomMagick provides a simple API to ease the process of converting HTML to PD...

468,124 160
barryvdh/laravel-snappy

Snappy PDF/Image for Laravel

27,935,098 2,755
nitmedia/wkhtml2pdf

Html 2 Pdf - using wkhtml2pdf, work on 32bit and 64 bit linux + MacOS

311,391 116