2012-09-30 178 views
0

我有一個頁面,使用glob函數和file_get_contents有幾個html文件,並將它們存儲在緩衝區中。輸出緩衝區+ PDF - PHP

所以我想將這個緩衝區ob_get_contents()轉換爲pdf文件。

這樣做的最好方法是什麼?怎麼樣?

在此先感謝。

回答

2

要從HTML和CSS創建PDF文件,請查看DOMpdf

儘管此解決方案不支持全部的HTML和CSS,並且它的渲染有時會很麻煩,但它有一個優點:它不需要安裝任何特殊的二進制文件(如wkhtmltopdf)。它應該在您的平均共享PHP託管上運行。

用例:

<?php 
require_once("dompdf_config.inc.php"); 

$html = 
    '<html><body>'. 
    '<p>Put your html here, or generate it with your favourite '. 
    'templating system.</p>'. 
    '</body></html>'; 

$dompdf = new DOMPDF(); 
$dompdf->load_html($html); 
$dompdf->render(); 
$dompdf->stream("sample.pdf"); 

?> 
+0

我遇到了一個錯誤無法流化pdf:標題已發送 – JuanFernandoz

+0

修復:)謝謝 – JuanFernandoz

1

爲什麼使用outputbuffer來做這個?你可以通過使用file_get_contents來獲得變量,並且可以簡單地使用變量中的數據創建PDF。當使用​​它所做的只是返回輸出緩衝區,並且通常對結果進行的操作是將結果保存到變量中...

btw。你確實想將html轉換成pdf?如果是看看wkhtmltopdf

1

如果​​包含html文件,他們是那麼多的解決方案,可以實現你想要的。我想你應該看看使用以下

Simple HTML 2 PDF using PHP

$html = ob_get_contents(); 
ob_end_clean(); 
$pdf = new HTML2FPDF(); 
$pdf->SetTopMargin(1); 
$pdf->AddPage(); 
$pdf->WriteHTML($html); 
$pdf->Output('test.pdf','D'); 
+0

,我不能做到這一點與HTML2PDF因爲即時得到幾個錯誤。 – JuanFernandoz

+0

@ user1642423他們是其他選擇...一個肯定會爲你工作 – Baba

+0

dompdf做的工作謝謝:) – JuanFernandoz