2015-05-28 34 views
4

我试图使用laravel 5和https://github.com/elibyy/laravel-tcpdf如何使用带有tcpdf laravel 5的刀片视图生成pdf?

我有20页形式写入laravel刀片时,我的客户填写表格,然后点击提交我要生成PDF格式为他和保存

创建PDF

我尝试做这样在我的控制器

public function createPDF() 
{ 
    $pdf = Input::get('pdf',null); 
    $company = Input::get('company',null); 
    $branch = Input::get('branch',null); 
    $sub_branch = Input::get('sub_branch',null); 
    $form_type = Input::get('form_type',null); 
    $form_name = Input::get('form_name',null); 
    $form_heb_name = Input::get('form_heb_name',null); 
    $sig_path=FormsController::getSignature_file(); 

    $data=compact('company','branch','sub_branch','form_type','form_name','form_heb_name','sig_path'); 
    Input::flash(); 
    if ($pdf) 
     { 
      $pdf = new TCPDF(); 
      $pdf->SetPrintHeader(false); 
      $pdf->SetPrintFooter(false); 
      $pdf->AddPage(); 
      $pdf->writeHTML(view('forms.'.$company.'.'.$branch.'.'.$sub_branch.'.'.$form_type.'.'.$form_name, $data)->render()); 
      $filename = storage_path().'/forms_pdf/10006/26/4718326/'.$form_name.'.pdf'; 
      $pdf->output($filename, 'I'); 
      return redirect('forms'); 
     } 
    return view('forms.'.$company.'.'.$branch.'.'.$sub_branch.'.'.$form_type.'.'.$form_name , $data); 
} 

蝙蝠它不工作是创建2 PDF页面上相互

如何解决它的顶部所有字段?

此外,我想以一种无法编辑的方式保存pdf文件,我该怎么做?

谢谢。

+0

难道你找到了解决办法? – Notflip

+2

不用tcpdf我用[link](https://github.com/barryvdh/laravel-snappy) –

+0

好吧谢谢! – Notflip

回答

5

我会尽量给你一步步的答案(测试laravel 5.1):

使用前,请确保您正确安装了TCPDF服务提供商:

安装TCPDF服务提供商

在composer.json,添加此软件包:

"require": { 
    "elibyy/laravel-tcpdf": "0.*" 
} 

运行作曲家更新

在配置

/app.php添加此服务提供商

'providers' => [ 
    //.. 
    Elibyy\TCPDF\ServiceProvider::class, 
] 

运行PHP工匠供应商:发布,这将产生在你的文件的config/laravel-tcpdf.php

生成PDF在您的控制器

public function createPDF() 
{ 
    [...] 
    //get default settings from config/laravel-tcpdf.php 
    $pdf_settings = \Config::get('laravel-tcpdf'); 

    $pdf = new \Elibyy\TCPDF\TCPdf($pdf_settings['page_orientation'], $pdf_settings['page_units'], $pdf_settings['page_format'], true, 'UTF-8', false); 

    $pdf->SetPrintHeader(false); 
     $pdf->SetPrintFooter(false); 
     $pdf->AddPage(); 
     $pdf->writeHTML(view('forms.'.$company.'.'.$branch.'.'.$sub_branch.'.'.$form_type.'.'.$form_name, $data)->render()); 
     $filename = storage_path().'/forms_pdf/10006/26/4718326/'.$form_name.'.pdf'; 
     $pdf->output($filename, 'I'); 
     return redirect('forms'); 

} 
+0

不幸的是,这并不适用于Laravel 5.2 – Peon

+1

现在确实如此。 https://github.com/elibyy/tcpdf-laravel – Nevermore