在magento1.7中,我在自定义控制器中尝试了类似下面的内容。使用Zend_Pdf的PDF文档错误
public function getPDF()
{
$imagePath=C:\Users\.........;
$image = Zend_Pdf_Image::imageWithPath($imagePath);
$page->drawImage($image, 40,764,240, 820);
.
.
.
$pdf->pages[] = $page;
$pdf->save("mydoc.pdf");
}
它没有错误。它使用图像生成PDF,但PDF文档保存在magento文件夹中,而不是保存在我的下载文件夹中。在做了一些研究之后,我发现了下面几行代码,并在$ pdf-> pages [] = $ page;后添加了它们。
$pdfString = $pdf->render();
header("Content-Disposition: attachment; filename=myfile.pdf");
header("Content-type: application/x-pdf");
echo $pdfString;
现在它在我的下载文件夹中生成PDF。当我尝试打开它。它会抛出错误:Adobe reader无法打开myfile.pdf,因为它不是受支持的文件类型或文件已损坏............发生这种情况时,我们试图打开在本地主机上生成的PDF文档还有其他原因。请让我知道,为什么会发生此错误,并为我提供解决方案。
您能否在文本编辑器中查看PDF文件的内容并查看PDF文件中显示的任何错误或警告信息?它保存的文件有多大? – drew010
另外,您使用不同的文件名(mydoc.pdf vs myfile.pdf)保存文件。 – JamesG
@ drew010:我试图在文本编辑器中打开PDF文档,它包含当前phtml文件(即调用getPDF()函数的文件)和字母数字字符的混合html。我认为,错误发生是由于其中的html内容的存在。该文件的大小超过6500k.Can你帮我解决这个问题... – Nida