2016-08-19 111 views
0

我正在用laravel中的dompdf創建發票。它對我來說工作得很好,直到我在那裏使用圖像。Laravel dom pdf圖像問題

管理控制器

public function generateInvoice(Request $request) 
{ 
    $user = Auth::user(); 
    $pdf  = PDF::loadView('pdf.invoice', $user); 
    return $pdf->download('invoice.pdf'); 
} 

而且在發票查看頁面包含發票模板...

<style> 
 
.block{ 
 
\t display: block; 
 
} 
 
.minifont12{ 
 
\t font-size: 12px; 
 
} 
 
.minifont10{ 
 
\t font-size: 10px; 
 
} 
 
.col-md-45{ 
 
\t width: 45%; 
 
\t display: inline-block; 
 
} 
 
.col-md-30{ 
 
\t width: 30%; 
 
\t display: inline-block; 
 
} 
 
.col-md-25{ 
 
\t width: 24%; 
 
\t display: inline-block; 
 
} 
 
.bluecolor{ 
 
\t background-color: #C5C5EC; 
 
} 
 
.midtop{ 
 
\t margin-top: 50px; 
 
} 
 
</style> 
 
<div class="header" style="position:relative; top:10; width:100%; "> 
 
<img src="http://localhost:8000/img/minilogo.jpg"> 
 
<div style="text-align:center; margin-top:-20px;">Retail Invoice/Bill</div> 
 
<div style="text-align:right">Invoice No. #BTR_PB_000052</div> 
 
</div> 
 
<div class="content"> 
 
\t <div class="minifont12 block" style="margin-top:20px;"> 
 
\t <strong>Sold By:</strong> SRM Smart Solutions Pvt. Ltd.<br> 
 
\t \t <span class="minifont10"> 
 
\t \t \t Building No. 29, Third Floor, Central Market, West Punjabi Bagh, Delhi-110026 
 
\t \t </span> 
 
\t </div> 
 
\t <hr> 
 
\t <div class="col-md-45"> 
 
\t \t Order Id : BT121178273<br> 
 
\t \t Order Date : 24-05-2016<br> 
 
\t \t Invoice Date : 25-05-2016<br> 
 
\t \t CIN No. : U72300DL2015PTC281652 
 
\t </div> 
 
\t <div class="col-md-30"> 
 
\t \t Avinash<br> 
 
\t \t H.No 30-45-5/26, Chandigari colony east, rohit cottage lane, opp. krupa comlex lane, r.k.puram post, 500 056, hdy.<br> 
 
\t \t Hyderabad, telangana - 500056<br> 
 
\t \t 8099473211 
 
\t </div> 
 
\t <div class="col-md-25"> 
 
\t \t <span class="midtop bluecolor"> 
 
\t \t \t *Keep this invoice for return and refund purposes 
 
\t \t </span> 
 
\t </div> 
 
</div>

但是當我運行的代碼......它會顯示錯誤信息 超過60秒的最大執行時間

請告訴我這背後有什麼問題。

+0

你做過'php artisan vendor:publish',然後進入你的'config /'目錄,然後編輯'dompdf.php',然後設置'show_warnings = true'?應該給你更好的錯誤報告。此外,你可以嘗試將圖像作爲base 64編碼圖像傳遞給pdf視圖,然後使用PDF中的內容?設置你的源'$ src = public_path()。'/ img/minilogo.jpg';',然後創建'$ image'變量傳遞給視圖:'$ image ='data:'.mime_content_type($ src )'; base64,'。base64_encode(file_get_contents($ src));'現在設置'' – Ohgodwhy

+0

如果你使用不同的圖像(比如公共服務器),你是否仍然有這個問題? – BrianS

回答

1

我在使用非常大的圖像時遇到同樣的問題。我通過在開始創建PDF之前添加以下行來更改最大執行時間來解決此問題:ini_set('max_execution_time', 120);。如果你願意,你也可以在你的php.ini文件中改變它,只要確保你知道你在做什麼,因爲這個設置適用於你的web服務器上執行的所有腳本。在php.ini文件中進行更改後,您還必須重新啓動Web服務器。

因此解決這個問題的一些其他選項將在here討論。