2016-06-07 48 views
0

我想從靜態HTML生成一個PDF文檔,它是通過XSLT 2.0轉換生成的。PDF格式的小問題,使用TCPDF庫

 function ProducePDF($pdf_name, $html_page){ 
     // create new PDF document 
     $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT,PDF_PAGE_FORMAT, true, 'UTF-8', false); 

     // set document information 
     $pdf->SetCreator(PDF_CREATOR); 
     $pdf->SetAuthor('Tony'); 
     $pdf->SetTitle('A document'); 
     $pdf->SetSubject('Information'); 
     $pdf->SetKeywords('TCPDF, PDF'); 

     // set default header data 
     $pdf->SetHeaderData('', PDF_HEADER_LOGO_WIDTH,'',''); 

     // set header and footer fonts 
     $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); 
     $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); 

     // set default monospaced font 
     $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 

     // set margins 
     $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); 
     $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); 
     $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); 

     // set auto page breaks 
     $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 

     // set image scale factor 
     $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 

     // set some language-dependent strings (optional) 
     if (file_exists(dirname(__FILE__).'/lang/eng.php')) { 
     require_once(dirname(__FILE__).'/lang/eng.php'); 
     $pdf->setLanguageArray($l);} 

     // set font 
     $pdf->SetFont('helvetica', '', 14); 

     // add a page 
     $pdf->AddPage(); 
     $html = file_get_contents($html_page); 
     // output the HTML content 
     $pdf->writeHTML($html, true, false, true, false, ''); 
     // reset pointer to the last page 
     $pdf->lastPage(); 
     //Close and output PDF document 
     $pdf->Output($pdf_name, 'FI');} 

結果PDF文檔是here

HTML源document

正如你所看到的,在TCPDF生成的PDF的最後一頁生成從源代碼的html文件的JS一些垃圾。 爲什麼它這樣做?這個問題有什麼解決方法嗎?

+0

我認爲你需要使用$ pdf-> IncludeJS($ js);以包括js看看[這裏](http://www.tcpdf.org/examples/example_053.phps) – Jainil

+0

這聽起來確實,但我想引擎只需要一個「整頁」,然後它從源html的垃圾。 無論如何,謝謝你的迴應。 – Twissell

回答

0

由於對我的問題有任何答案,所以我決定使用this問題的答案作爲解決我的問題的解決方法。

我只是用正則表達式和所有作品從標記中刪除不必要的塊!