Dompdf for Laravel 4
Switch branches/tags
Clone or download
Latest commit e42bc4a Dec 2, 2014
Permalink
Failed to load latest commit information.
src Merge pull request #67 from lintranex/patch-1 Nov 17, 2014
tests Initial commit Jun 22, 2013
.gitignore Initial commit Jun 22, 2013
.travis.yml Initial commit Jun 22, 2013
LICENSE Initial commit Jun 22, 2013
README.md Update readme Dec 2, 2014
composer.json Update to 1.0.6 Dec 2, 2014
phpunit.xml Initial commit Jun 22, 2013

README.md

Dompdf

Simple Dompdf package for Laravel 4 This package uses the latest stable version (0.5)

Build Status

Installation

Run

composer require thujohn/pdf

OR

Add thujohn/pdf to composer.json.

"thujohn/pdf": "dev-master"

Run composer update to pull down the latest version of Pdf.

Now open up app/config/app.php and add the service provider to your providers array.

'providers' => array(
	'Thujohn\Pdf\PdfServiceProvider',
)

Now add the alias.

'aliases' => array(
	'PDF' => 'Thujohn\Pdf\PdfFacade',
)

Publish the config

php artisan config:publish thujohn/pdf

Usage

Show a PDF

Route::get('/', function()
{
	$html = '<html><body>'
			. '<p>Put your html here, or generate it with your favourite '
			. 'templating system.</p>'
			. '</body></html>';
	return PDF::load($html, 'A4', 'portrait')->show();
});

Download a PDF

Route::get('/', function()
{
	$html = '<html><body>'
			. '<p>Put your html here, or generate it with your favourite '
			. 'templating system.</p>'
			. '</body></html>';
	return PDF::load($html, 'A4', 'portrait')->download('my_pdf');
});

Returns a PDF as a string

Route::get('/', function()
{
	$html = '<html><body>'
			. '<p>Put your html here, or generate it with your favourite '
			. 'templating system.</p>'
			. '</body></html>';
	$pdf = PDF::load($html, 'A4', 'portrait')->output();
});

Multiple PDFs

for ($i=1;$i<=2;$i++)
{
	$pdf = new \Thujohn\Pdf\Pdf();
	$content = $pdf->load(View::make('pdf.image'))->output();
	File::put(public_path('test'.$i.'.pdf'), $content);
}
PDF::clear();

Examples

Save the PDF to a file in a specific folder, and then mail it as attachement. By @w0rldart

define('BUDGETS_DIR', public_path('uploads/budgets')); // I define this in a constants.php file

if (!is_dir(BUDGETS_DIR)){
	mkdir(BUDGETS_DIR, 0755, true);
}

$outputName = str_random(10); // str_random is a [Laravel helper](http://laravel.com/docs/helpers#strings)
$pdfPath = BUDGETS_DIR.'/'.$outputName.'.pdf';
File::put($pdfPath, PDF::load($view, 'A4', 'portrait')->output());

Mail::send('emails.pdf', $data, function($message) use ($pdfPath){
	$message->from('us@example.com', 'Laravel');
	$message->to('you@example.com');
	$message->attach($pdfPath);
});