0

我正在使用 zend_pdf 在 magento 1.7 中生成 pdf 并且我尝试过类似的东西

public function getpdf()
 {
 $pdf = new Zend_Pdf(); 
 $font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
 $page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
 $page->setFont($font, 24) ->drawText('Hello World', 72, 720);
 $pdf->pages[] = $page;
 $pdfString = $pdf->render();
header("Content-Disposition: attachment; filename=helloworld.pdf");
header("Content-type: application/x-pdf");
echo $pdfString;
 }

现在的问题是,在 Windows 7 上生成 Pdf 时,它无法打开并抛出错误消息“Adobe 阅读器无法打开 helloworld.pdf,因为它不是受支持的文件类型或文件已损坏”。我注意到由于 pdf 文档中存在 html 内容而发生此错误。我将 pdf 文档作为链接发送给您https://dl.dropbox.com/u/45895040/helloworld.pdf

如果 pdf 是在 Mac OS X 中生成的,它会在那里成功打开

为了更好地理解,只需尝试按照Zend_pdf 文档中提到的步骤在 magento 中抛出错误,因为存在 html 内容

任何人都可以指导我如何正确设置标题,以便可以在任何浏览器上打开生成的 pdf,而不管任何操作系统。

4

1 回答 1

0

在 echo 语句之前添加以下代码行:

        ob_end_clean();

这应该够了吧。

于 2012-09-07T02:29:01.763 回答