2011-06-28 32 views
2

当我们从发票下载时,需要在PDF文件中包含'客户标识'。需要在Magento中包含PDF格式的图像

我试着用下面的代码。

$page->drawImage($customerLogo, 25, 800, 125, 825); 

但它通过以下致命的错误......

Fatal error: Call to a member function getResource() on a non-object in D:\Application\xampp\htdocs\projects\guardian\lib\Zend\Pdf\Page.php on line 344 

任何人知道,如何解决这个问题。

+0

有趣的 - 这是Zend Framework的文件,我相信它没关系。你确定你正确地下载了所有文件吗? – Andron

回答

4

我已经使用这个方法之前:

放置在图像的图像在你的/媒体文件夹,然后在您想要的形象出现inser此代码:

$image = Mage::getConfig()->getOptions()->getMediaDir().DS.'you-logo-here.png';    
         if (is_file($image)) { 
          $image = Zend_Pdf_Image::imageWithPath($image); 
          $page->drawImage($image, $x+5, $y-18, $x+45, $y-6); 
         } 

你将不得不玩你的php drawImage尺寸和坐标。但这应该做到这一点。

+0

它适用于Chris。谢谢你的帮助。 –

0

对于发生该错误$customerLogo必须为空。答案是确保$customerLogo不为空。

+0

我检查了'$ customerLogo'它不是null,它的返回'D:\ .. \ .. \ media \ catalog \ customer \ logo \ 1307011576pdff.png'。我在那个地方有这样的形象。 –

+1

如果您选中[Zend drawImage](http://framework.zend.com/manual/en/zend.pdf.drawing.html#zend.pdf.drawing.image-drawing),则表明您需要传递一个对象,而不是一个字符串。事实上,它应该提出一个关于传递错误的参数类型的错误。 – clockworkgeek