2010-08-04 70 views
1

我必須用TCPDF生成PDF,我的信息來自我的數據庫,所以我必須編寫PHP變量。我知道該怎麼做。用TCPDF寫變量PHP

但我想用寫CSS + XHTML(可爲我所看到的TCPDF網站爲例):

$html = <<<EOF 

<style> 
    <!-- My CSS --> 
</style> 

    <!-- My xHTML --> 

EOF; 

$pdf->writeHTML('$html', ''); 

我有錯誤,當我嘗試打開PDF文件。我讀過,我必須用'\'來逃避'$'。在此之後,我沒有錯誤,但我的變量的內容不出現在我的PDF中。

編輯:

@Sarfraz:我不知道怎樣才能做到這一點,如果我這樣做,這是行不通的?

$html = <<<EOF 

    <style> 
     <!-- My CSS --> 
    </style> 

     <!-- My xHTML --> 
     <span><?php echo $myVar; ?></span> 

    EOF; 

    $pdf->writeHTML('$html', ''); 

回答

2

確保沒有空間和縮進EOF;之前,否則你會得到錯誤。

此外,如果您有任何變量定界符逃避對他們{}{$somevar}

+0

我生成PDF沒有錯誤,但變量不顯示。 – Elorfin 2010-08-04 08:25:36

+0

@Corum:你不能在pdf中插入php變量。在將它們發送到php庫之前,您需要回顯變量 – Sarfraz 2010-08-04 08:29:08

1

我有同樣的問題。我通過嘗試自己提到的東西得到了解決方案,如下所示:

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

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

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

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

更多細化的結果:

輸出最終PDF:
當你已完成創建所有必需的單元格,圖像,鏈接,文本等,您必須調用Output()方法才能真正實現動態創建的PDF。在這種情況下,將PDF發送到瀏覽器時,這可能不需要參數,但更常見的情況是,開發人員指定生成的PDF的文件名和目標。目標可以是四個值之一,它們是:

I: send the file inline to the browser. 
D: send to the browser and force a file download with the name given by name. 
F: save to a local file with the name given by name. 
S: return the document as a string. 

你可以看到我的代碼設置從引用的目標價值爲F:

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

http://www.akamarketing.com/blog/109-php-to-pdf-conversion-with-tcpdf.html