我有一個名爲welcomemailtemplate.html的html文件,我需要將該文件轉換爲PDF。PHP:將html文件轉換爲pdf
我首先使用由Yii框架提供了下面的方法讀取此文件:
$filename = Yii::app()->basePath.'\views\email\welcomemailtemplate.html';
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
$name = $model->name;
fclose($handle);
$message = str_replace ("[username]", $name, $contents);
然後,向生成的PDF文件時,設置以下參數:
Yii::import('application.vendors.*');
require_once('tcpdf/tcpdf.php');
require_once('tcpdf/config/lang/eng.php');
$pdf = new TCPDF();
$pdf->SetCreator("Torget");
$pdf->SetAuthor('test name');
$pdf->SetTitle('Savani Test');
$pdf->SetSubject(' Torget Order Confirmation');
$pdf->SetKeywords(' Torget, Order, Confirmation');
//$pdf->SetHeaderData('', 0, PDF_HEADER_TITLE, '');
$pdf->SetHeaderData('', 0, "Torget Order", '');
$pdf->setHeaderFont(Array('helvetica', '', 8));
$pdf->setFooterFont(Array('helvetica', '', 6));
$pdf->SetMargins(15, 18, 15);
$pdf->SetHeaderMargin(5);
$pdf->SetFooterMargin(10);
$pdf->SetAutoPageBreak(TRUE, 0);
$pdf->SetFont('dejavusans', '', 7);
$pdf->AddPage();
如果我通過內容如下,它創建PDF:
$pdf->writeHTML("<span>Hello World!</span>", true, false, true, false, '');
但是,如果我通過讀取html文件co ntent用於使用以下方法它給出以下錯誤PDF創建:
$pdf->writeHTML($message, true, false, true, false, '');
$pdf->LastPage();
錯誤消息:
Undefined index: thead
也許該模板是無效的HTML?你有沒有嘗試驗證它? – 2012-01-16 09:10:34
html模板文件可以在瀏覽器上查看,所以我假設它沒有任何錯誤 – KItis 2012-01-16 09:11:58
@KItis - 瀏覽器執行大量的錯誤恢復,所以這是一個可怕的假設。 – Quentin 2012-01-16 09:20:57