2017-02-21 40 views
0

我有一个表格,用户必须填写。按下提交后,用户将被重定向到名为/ drugs/result的页面,并提供成功消息和.PDF的下载按钮。我无法弄清楚如何在下载页面下载pdf。如果我在控制器中使用pdf方法,它工作正常。在Laravel成功插入表单后在下一页下载.PDF

我用这对PDF:barryvdh/laravel-dompdf

我有什么:

public function store(StoreConfirmationRequest $request) { 
    $formData = $request->all(); 

    $prescription_confirmation = new Prescription_confirmations; 
    $prescription_confirmation->physician_id = Input::get('physician_id'); 
    $prescription_confirmation->patient_code = Input::get('patient_code'); 
    $prescription_confirmation->medicine = 1; 
    $prescription_confirmation->date = Input::get('physician_date'); 

    //finally save the data to database 
    $prescription_confirmation->save(); 

    $pdf = App::make('dompdf.wrapper'); 
    $pdf->loadHTML('<h1>Test</h1>'); 
    $pdf->download(); 

    return view('medicines.result', compact('formData'))->with('message', 'Successfully inserted); 
} 

这里是刀片

@extends ('layouts/master') 

    @section('title', 'Allalaadimine') 

     @section ('content') 
     <div class="container medicine_confirmation_container"> 
      <div class="col-md-12"> 
      @foreach ($formData as $data) 
       <li>{{$data}}</li> 
      @endforeach 
      <div class="flash-message"> 
       @if(session()->has('message')) 
        <div class="alert-message alert-message-success"> 
        <h4>Saved!</h4> 
         {{ session()->get('message') }} 
        </div> 
       @endif 
      </div> <!-- end .flash-message --> 
      <button class="btn btn-borders btn-success btn-lg btnDownloadPdf" type="submit">Lae alla pdf</button> 
      </div> 
     </div> 
     @endsection 

     @section ('footer') 
     @endsection 

回答

0

返回两个PDF和视图将无法正常工作。您必须将PDF保存到您的服务器上,并使其可以通过其他路径进行下载。

来源:https://github.com/barryvdh/laravel-dompdf

$pdf->save('/path-to/my_stored_file.pdf'); 

在您必须连结保存的PDF刀片模板。

+0

这将是真正沉重的服务器? – raqulka

+0

您也可以通过单独的路线按要求生成PDF。在这种情况下,您不必存储文件。 – Plxx