我試圖在動作的輸出中使用Zend Framework應用程序中的mPDF生成.pdf文件。Adobe Reader無法打開在Zend Framework中使用mPDF創建的.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');
}
如果要顯示的內容很長(即幾段),下載.pdf文件時,Adobe公司的閱讀器將引發以下錯誤:ADOBE READER無法打開'report.pdf',因爲它不是受支持的文件類型,或者是因爲文件已損壞(例如,它是作爲電子郵件附件發送的,未正確解碼)。但是,如果我將相同的輸出作爲靜態變量傳遞給mpdf,而不使用Zend Layout渲染,則.pdf文件將打開而不會出現任何錯誤。此外,只有在內容很長的情況下,Adobe Reader纔會拋出該問題(即只有幾個字時才起作用)。
我應該知道有什麼限制嗎?
我有同樣的問題,但後來當我通過電子郵件發出該錯誤。我認爲問題出在pdf閱讀器上。 – botenvouwer