我在自定义控制器中创建了函数 getPdf
public function getPdf()
{
$pdf = new Zend_Pdf();
$page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
$imagePath="C:\Users\Hp\Desktop\landscape3.jpg";
$image = Zend_Pdf_Image::imageWithPath($imagePath);
$page->drawImage($image, 40,764,240, 820);
$pdf->pages[] = $page;
$pdf->save('myfile.pdf');
}
它生成带有图像但在 magento1.7 文件夹中的 PDF。我尝试了以下几行
$pdfString = $pdf->render();
header("Content-Disposition: attachment; filename=mydownloads.pdf");
header("Content-type: application/x-pdf");
echo $pdfString;
它在下载文件夹中生成 PDF 文档,但是当我打开它时。显示错误消息:Adobe reader 无法打开 myfile.pdf,因为它不是受支持的文件类型或文件已损坏...... .....当我在文本编辑器(记事本)中打开 mydownloads.pdf 时,我注意到 html 内容(调用 getPdf() 函数的当前 phtml 文件的内容)与 pdf 自己的内容存在。我什至尝试禁用使用 magento1.7 查看渲染
$vr = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$vr->setNoRender(true);
$layout = Zend_Layout::getMvcInstance();
$layout->disableLayout();
但不幸的是,它在 magento1.7 中不起作用。然后我尝试通过删除这两行标题函数来回显 $pdfString 的内容,
例如
$pdfString = $pdf->render();
return $pdfString;
它只是包含 Pdf 自己的内容。然后我意识到html内容的存在是由于这两行
header("Content-Disposition: attachment; filename=mydownloads.pdf");
header("Content-type: application/x-pdf");
谁能帮我解决这个问题。以便在下载文件夹中生成 PDF 文档。如何从pdf文档中删除html内容?