2011-06-28 35 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