2013-01-17 3 views
3

Zend Framework 응용 프로그램에서 mPDF를 사용하여 .pdf 파일을 생성하려고합니다. 여기 Adobe Reader에서 Zend Framework의 mPDF를 사용하여 만든 .pdf 파일을 열 수 없습니다.

내 행동의 코드입니다 .pdf 파일을 다운로드 할 때

public function testAction() 
{  
     $this->_helper->viewRenderer->setNoRender(); 
     $this->_helper->layout->disableLayout(); 

     $this->view->foo = 'bar'; 

     $this->render(); 
     $output = $this->getResponse()->getBody(); 

     $layout = new Zend_Layout(); 
     $layout->content = $output;  
     $layout->setLayoutPath(dirname(dirname(__FILE__)) . '/views/layouts/'); 
     $layout->setViewSuffix('tpl'); 
     $layout->setLayout('pdf'); 

     $html = $layout->render(); 

     $mpdf = new mPDF('utf-8', 'A4'); 
     $mpdf->WriteHTML($html); 
     $mpdf->Output('report.pdf', 'D'); 
} 

표시 할 내용이 긴 경우 (즉, 몇 단락), Adobe Reader가 다음과 같은 오류가 발생합니다 : Adobe Reader를 지원되는 파일 형식이 아니거나 파일이 손상 되었기 때문에 'report.pdf'를 열 수 없습니다 (예 : 전자 메일 첨부 파일로 보내졌으며 제대로 디코딩되지 않았습니다).

그러나 젠드 레이아웃 렌더를 사용하지 않고 mpdf에 정적 변수로 동일한 출력을 전달하면 .pdf 파일이 오류없이 열립니다. 또한 Adobe Reader는 내용이 긴 경우에만 문제를 던집니다 (즉, 몇 단어 만 있으면 작동 함).

알고 있어야하는 제한 사항이 있습니까?

+0

저도 같은 문제가 있지만, 나는이 때 그 오류를 제공 이메일을 보내. 나는 문제가 pdf 독자에 있다고 생각한다. – botenvouwer

답변

0

가 시작 부분에 공간이 될 및 파일의 끝에 그래서이 공간을 확인하지 말아야

0

어도비 리더는 PDF 파일이 손상된 경우 일부 인접 해 PDF 리더보다 용서입니다. 텍스트 편집기에서 PDF 문서를 열고 파일이 같은 시작 확인 : 때때로 PHP 오류 사항이 파일의 상단에서 찾을 수 있습니다 % PDF-1.4 % Ã ¢ Ã £ AA "

.

출처 : mpdf forum IanBack's answer