igormatkovic / pdf
dompdf for Laravel 4
1.0.5
2013-11-13 21:58 UTC
Requires
- php: >=5.3.0
- illuminate/support: 4.x
This package is not auto-updated.
Last update: 2024-09-24 08:01:14 UTC
README
为 Laravel 4 设计的简单 Dompdf 包,此包使用最新稳定版本 (0.5)
安装
将 thujohn/pdf
添加到 composer.json
文件中。
"thujohn/pdf": "dev-master"
运行 composer update
以拉取 Pdf 的最新版本。
现在打开 app/config/app.php
文件,并将服务提供者添加到您的 providers
数组中。
'providers' => array( 'Thujohn\Pdf\PdfServiceProvider', )
现在添加别名。
'aliases' => array( 'PDF' => 'Thujohn\Pdf\PdfFacade', )
发布配置
php artisan config:publish thujohn/pdf
用法
显示 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(); });
下载 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'); });
返回 PDF 字符串
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(); });
多个 PDF
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();
示例
将 PDF 保存到特定文件夹中的文件,然后作为附件发送邮件。由 @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](https://laravel.net.cn/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); });