vsmoraes/laravel-pdf

此包已被废弃,不再维护。作者建议使用 barryvdh/laravel-dompdf 包代替。

Laravel 5 的 DOMPDF 模块

2.0 2017-07-06 17:51 UTC

This package is auto-updated.

Last update: 2019-10-03 20:30:34 UTC


README

DOMPDF 模块用于 Laravel 5。将视图导出为 PDF - 支持CSS。

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

安装

添加

"vsmoraes/laravel-pdf": "^2.0"

到你的 composer.json

或者运行

composer require vsmoraes/laravel-pdf

然后添加

Vsmoraes\Pdf\PdfServiceProvider::class

到你的 config/app.php 中的 providers 数组

并且

'PDF' => 'Vsmoraes\Pdf\PdfFacade',

添加到你的 config/app.php 中的 aliases 数组,以便启用PDF门面

用法

Route::get('/pdf/view', function() {
    $html = view('pdfs.example')->render();

    return PDF::load($html)->show();
});

强制下载

Route::get('/pdf/download', function() {
    $html = view('pdfs.example')->render();

    return PDF::load($html)->download();
});

以字符串形式返回 PDF

Route::get('/pdf/output', function() {
    $html = view('pdfs.example')->render();

    return PDF::load($html)
        ->output();
});

设置纸张大小和方向

    Route::get('/pdf/output', function() {
        $html = view('pdfs.example')->render();
    
        return PDF::load($html, 'A4', 'landscape')
            ->output();
    });

输出到文件

Route::get('/pdf/output', function() {
    $html = view('pdfs.example')->render();

    PDF::load($html)
        ->filename('/tmp/example1.pdf')
        ->output();

    return 'PDF saved';
});

注入到控制器中

<?php namespace App\Http\Controllers;

use Vsmoraes\Pdf\Pdf;

class HomeController extends BaseControler
{
    private $pdf;

    public function __construct(Pdf $pdf)
    {
        $this->pdf = $pdf;
    }

    public function helloWorld()
    {
        $html = view('pdfs.example1')->render();

        return $this->pdf
            ->load($html)
            ->show();
    }
}

配置

Dompdf 允许你在PDF文件上配置许多东西。在旧版本中,我们通常通过环境变量来完成这个任务,现在你可以实时更改这些配置键

Route::get('/pdf/view', function() {
    $html = view('pdfs.example')->render();
    
    $defaultOptions = PDF::getOptions();
    $defaultOptions->setDefaultFont('Courier');
    
    return PDF::setOptions($defaultOptions)->load($html)->download();
});

完整的配置参考:Dompdf选项