Php Laravel打印纸

时间:2016-12-22 09:44:59

标签: php laravel

我的网站与机票相关,在预订机票和机票后,如果我要打印机票,它会显示代理面板中按钮的路径,如下所示 - > 欢迎代理, 个人资料(http://localhost/tb/customer/dashboard) MarkUp(http://localhost/tb/agent/markup/list) 仪表板(localhost / tb) 报告(localhost / tb / list)

查看故障单详细信息 在所有这些之后,票据详细信息正在打印。

2 个答案:

答案 0 :(得分:1)

我喜欢DocRaptor这种事情。使用一些HTML / CSS / Javascript发送API请求,您将获得一个PDF,您可以使用该PDF来执行任何操作,包括向用户提供下载/打印。

他们甚至提供PHP class来处理API访问。

这是一项付费服务​​,但值得每一分钱。

在本地生成PDF对我来说从来没有奏效过。在不同库出现的格式化问题,缺少Javascript支持以及进程消耗的资源之间,这太不方便了。

答案 1 :(得分:0)

如果要创建PDF然后打印视图,请尝试使用此pdf-laravel等PDF生成插件。这只是Laravel 5的DOMPDF模块。

要获取此pdf-laravel5插件,请在composer命令下运行

composer require vsmoraes/laravel-pdf

要添加提供者,请将config/app.php下面的行更新为providers数组

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

生成文件:

$router->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();
    }
}

您还可以强制下载PDF,如:

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

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