2011-10-22 4 views
0

나는 코드 위Zend의 DOMPDF를 사용하여 렌더링 테이블이 PDF 안에 들어 가지 않습니다?

 ... 
     $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"); 
     ..... 

내 HTML 콘텐츠와 함께 PDF를 생성, 컨트롤러에서 가져온 다음 코드 조각이있다. 그러나 테이블은 pdf 안에 없습니다. HTML 컨텐트는 PDF의 절반 만 렌더링합니다. DOMPDF를 사용하여 PDF에 어떻게 적응할 수 있습니까?

+0

"table is not inside pdf."란 무엇을 의미하는지 확실하지 않습니다. PHP에는 문제가있는 부분이 없습니다. 샘플 HTML 문서와 결과 PDF를 게시 할 수 있습니까? – BrianS

+0

@ 브라이언 감사합니다. 사실 내 테이블에는 6 열만 있습니다. 단 4 열만 pdf에 표시되고, 나머지 2 열은 PDF에서 사라졌습니다. 어떻게하면 완벽하게 만들 수 있습니까? – mymotherland

+0

표가 표시됩니다. 너무 넓은 페이지에 맞게 렌더링? 풍경으로 전환 하시겠습니까? 열 너비 문제를 해결하기 위해 할 수있는 일은 많지만 예제 문서를 게시 할 수 있습니다. – BrianS

답변

3

DOMPDF에는 CSS와 표에 몇 가지 문제가 있습니다. 베스트 프랙티스는 셀 또는 행 열은 피하고 외부 CSS 파일은 사용하지 않는 것이 좋습니다. 또한 제한된 CSS 규칙 집합 만 지원됩니다. 전체 호환성 목록 확인 :

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

편집 :하십시오 <div></div> 테이블을 넣어하려고하면 문제가있어 고정 http://code.google.com/p/dompdf/wiki/CSSCompatibility

당신이 테이블의 폭을 설정하려고합니다. 이것은 약간의 관대 한 오류를 해결했습니다.

1

불행히도 DOMPDF를 사용하여 PDF 내에 테이블을 맞추는 것은 불가능합니다. DOMPDF 팀은 아직 작업 중이며 문제 사이에 상위 목록에 있다고 말할 수 있습니다. 당신은

DOMPDF issue

나는 당신의 문제를 해결하기 위해 MPDF를 사용하도록 추천 할 것입니다 ...이 버그에 대한 자세한 내용은이 링크를 따를 수 있습니다. 방금 MPDF를 확인했는데 잘 돌아갔습니다.