2011-05-23 42 views
1

我創建的PDF使用TCPDF出現,我使用定界符語法生成PDF時,TCPDF,PHP變量值不上保存的PDF文件

一切都很好,有一些PHP變量和當前日期填寫,並觀察在瀏覽器中,但保存的PDF文件的PHP變量的值不顯示,只有日期...

我在頂部聲明我的變量,像這樣:

$name = $_POST['name']; 
$score = $_POST['percentage']; 
$ku_number = $_POST['ku-number']; 
$date = Date('d - m - Y'); 

只有$日期顯示在保存的pdf上。

有什麼建議嗎?

謝謝

編輯:代碼的變量傳遞給TCPDF

// Print a text 
$html = <<<EOF 
<!-- EXAMPLE OF CSS STYLE --> 
<style> 
table{ 
text-align:center; 
color:#000; 
} 
</style> 
<table id="name" cellpadding="0"> 
<tr> 
<td width="10" height="80">&nbsp;</td> 
<td width="620">&nbsp;</td> 
<td width="10">&nbsp;</td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td width="620">$name</td> 
<td>&nbsp;</td> 
</tr> 
<tr> 
<td width="10">&nbsp;</td> 
<td>&nbsp;</td> 
<td width="10">&nbsp;</td> 
</tr> 
</table> 

<table id="score" cellpadding="0" > 
<tr> 
<td width="10" height="180">&nbsp;</td> 
<td width="620">&nbsp;</td> 
<td width="10">&nbsp;</td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td width="620">$score</td> 
<td>&nbsp;</td> 
</tr> 
<tr> 
<td width="10" height="207">&nbsp;</td> 
<td>&nbsp;</td> 
<td width="10">&nbsp;</td> 
</tr> 
</table> 

<table id="ku-number" cellpadding="0" > 
<tr height="2"> 
<td width="50" height="2"></td> 
<td width="620" height="2"></td> 
<td width="10" height="2"></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td width="620" height="20"></td> 
<td>&nbsp;</td> 
</tr> 
<tr> 
<td width="50">&nbsp;</td> 
<td>$ku_number</td> 
<td >&nbsp;</td> 
</tr> 
</table> 

<table id="date" cellpadding="0" > 
<tr height="2"> 
<td width="50" height="2"></td> 
<td width="620" height="2"></td> 
<td width="10" height="2"></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td width="420" height="20">$date</td> 
<td>&nbsp;</td> 
</tr> 
<tr> 
<td width="50">&nbsp;</td> 
<td></td> 
<td >&nbsp;</td> 
</tr> 
</table> 

EOF; 
$pdf->writeHTML($html, true, false, true, false, ''); 


//Close and output PDF document 
$pdf->Output('certificate.pdf', 'I'); 
+0

需要更多的上下文。你如何將變量傳遞給TCPDF? – Piskvor 2011-05-23 12:09:36

+0

我剛編輯它。 – Mirko 2011-05-23 12:18:45

+0

那麼,我想當瀏覽器保存一個文件時,它會向服務器發出第二次請求,而沒有任何POST數據,所以$ _POST數組是空的。 – 2011-05-23 12:20:50

回答

0

使用$ _SESSION輸出PDF之前的變量存儲問題迎刃而解

現金去Yuri Stuken

4

我有同樣的問題。我通過試驗我自己提到的一些解決方案,如下所示:

請使用連接將$ html字符串分解爲多個部分。這一定會解決問題。例如我使用的是這樣的:

$html = 'HTML CONTENT BREAKS HERE' . $variable_name . 'HTML CONTENT CONTINUES HERE' ; 

通常情況下,大多數開發商將使用PHP變量$ HTML值內,

$html = 'HTML CONTENT echo php variable HTML CONTENT' ; 

我希望這會工作。

+1

我解決了它使用$ _SESSION – Mirko 2011-08-17 20:31:34

+0

這是因爲HTML內容被括在單引號。 – 2012-06-25 15:04:29

0

更多細化的結果:

輸出最終PDF: 當您完成創建所需的所有細胞,圖片,鏈接,文字等,你必須調用輸出()方法實際上讓你的手在您的動態創建的PDF上。在這種情況下,將PDF發送到瀏覽器時,這可能不需要參數,但更常見的情況是開發人員指定生成的PDF的文件名和目標。目標可以是以下四個值之一:

I:將文件內聯發送到瀏覽器。 D:發送到瀏覽器並用名稱給出的名稱強制文件下載。 F:保存到名稱爲name的本地文件中。 S:將文檔作爲字符串返回。

你可以看到我的代碼將目標值F:this

有一個平衡的生活:

$pdf->Output(」./pdfs/example.pdf」, 「F」); 

從參考!