2011-10-22 71 views
0

我有如下一段從控制器取碼,在Zend中,使用DOMPDF的渲染表不適合在pdf中使用DOMPDF嗎?

 ... 
     $this->view->vCount = count($result); 
     $this->view->Reportlist = $result; 
      // create view object 
     $html = new Zend_View(); 
     $html->setScriptPath(APPLICATION_PATH . '/layouts/scripts/'); 
     $html->assign('Reportlist', $this->view->Reportlist); 
     $html->assign('vCount', $this->view->vCount); 

     // render view 
     $bodyText = $html->render('getreport.phtml');  
     //echo $bodyText; exit; 
     //error_reporting(E_ALL); 

     $dompdf = new DOMPDF(); 
     $dompdf->set_paper("a4","portrait"); 
     $dompdf->load_html($bodyText); 

     $dompdf->set_base_path($_SERVER['DOCUMENT_ROOT']); 
     $dompdf->render(); 
     $dompdf->stream($report_date.".pdf"); 
     ..... 

上面的代碼生成的PDF與我的HTML內容。但表格不在pdf內。 HTML內容只能呈現pdf的一半。我們如何使用DOMPDF適合PDF?

+0

不確定您的意思是「表格不在pdf內」。沒有什麼在你的PHP看起來有問題。你能發佈一個示例HTML文檔以及生成的PDF嗎? – BrianS

+0

@布萊恩謝謝,其實我的表有6列,只有4列是在pdf中顯示,其餘2列已經走出了pdf ...我們如何使它完美... – mymotherland

+0

我看到了,所以表是渲染太大以致無法放在頁面上?切換到風景?只有這麼多才能解決列寬問題,但如果您可以發佈示例文檔,我會看一看。 – BrianS

回答

3

DOMPDF在css和表格中存在一些問題。最佳做法是避免單元格或rowspans而不使用外部css文件。也只支持一組有限的CSS規則。檢查出完整的兼容性列表: http://code.google.com/p/dompdf/wiki/CSSCompatibility

對於固定你的問題你試過設置表格的寬度:

<table width="90%">.. Your data here </table> 

編輯:嘗試將表中<div></div>。這解決了一些慷慨的錯誤

1

不幸的是,使用DOMPDF來適應表內PDF是不可能的。 DOMPDF團隊仍在努力,我可以說它是問題之間的首選。您可以點擊以下鏈接瞭解更多關於此錯誤的...

DOMPDF issue

我會建議你使用MPDF來解決您的問題。我剛纔檢查了MPDF,它很好。