Skip to content
This repository has been archived by the owner on Apr 27, 2020. It is now read-only.

thujohn/pdf-l4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e42bc4a · Dec 2, 2014

History

39 Commits
Nov 17, 2014
Jun 22, 2013
Jun 22, 2013
Jun 22, 2013
Jun 22, 2013
Dec 2, 2014
Dec 2, 2014
Jun 22, 2013

Repository files navigation

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('[email protected]', 'Laravel');
	$message->to('[email protected]');
	$message->attach($pdfPath);
});