我正在開發產品管理系統,並且有一個稱爲購買的模塊。如何在laravel中提交表單時生成pdf 5.2
我也寫過store()
方法的控制器和模型部分。
現在我想在點擊提交按鈕時生成發票。我使用PDF生成器插件作爲barryvdh/laravel-dompdf
。我是PHP & Laravel的新手,只想知道執行PDF生成過程的指令。
我正在開發產品管理系統,並且有一個稱爲購買的模塊。如何在laravel中提交表單時生成pdf 5.2
我也寫過store()
方法的控制器和模型部分。
現在我想在點擊提交按鈕時生成發票。我使用PDF生成器插件作爲barryvdh/laravel-dompdf
。我是PHP & Laravel的新手,只想知道執行PDF生成過程的指令。
您可以按照安裝步驟Laravel 5:
Barryvdh\DomPDF\ServiceProvider::class,
您config/app.php
文件添加爲的ServiceProviderconfig/app.php
文件此,'PDF' => Barryvdh\DomPDF\Facade::class,
添加到您的外牆然後在您的商店方法中,保存所有信息後,您可以生成如下所示的PDF:
$pdf = \PDF::loadView('pdf.invoice', $data);
return $pdf->download('invoice.pdf');
這將加載存儲在resources/views/pdf
與存儲在$data
的值invoice
視圖,然後返回一個叫做invoice.pdf
一個可下載的文件。
這一切都直接來自使用部分的DomPDF docs。
我明白你所說的,但我與這$數據混淆。你能告訴我如何表明這一點。我不知道應該把$ data放在哪裏,就像$ data = array('test'=> $ request-> get('test_name'),........ ......... );然後「你給的代碼」 –
@sandunijayawardena你使用它類似於你如何使用'郵件',如果你曾經使用過。 '$ data'是一個包含您傳入並可以使用的鍵和值的數組。例如'$ data ['name'] =「name」;'可以讓你在視圖內使用'$ name'。 – James
根據本Github Link
2-窗體頁
<form id="FOO" method="POST" action="/pdf">
<input type="text" name="object" >
<button type="submit">Generate</button>
</form>
3-路由安裝DOMPDF:Route::post('pdf' , '[email protected]');
請注意,在這裏,你將需要包含一個隱藏的輸入,使用csrf令牌,或者只需在中排除此路由中間件,否則它不會讓你發佈(如果你還沒有驗證工作呢,不介意這個通知)
4-控制器現在
public function PDFGenerator (Request $request){
$html = <<<ENDHTML
<!DOCTYPE html>
<html>
<head>
<title>Foo</title>
<meta charset="utf-8">
</head>
<body style="margin: 30px;">
<center style="text-decoration: underline;">{$request->object}</center>
</body>
</html>
ENDHTML;
$dompdf = App::make('dompdf.wrapper');
$dompdf->loadHTML($html);
$dompdf->stream("hello.pdf");
return $dompdf->stream();
}
This is the Heredoc documentation頁面萬一你需要更多關於如何使用它的信息。
不要忘記將庫包含在控制器中,等待您的反饋。
有文件中的一切,你只需要按照它https://github.com/barryvdh/laravel-dompdf –