【问题标题】:Need to include image with PDF in Magento需要在 Magento 中包含带有 PDF 的图像
【发布时间】:2011-06-28 10:11:49
【问题描述】:

当我们从发票下载时,我需要在 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

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

【问题讨论】:

  • 有趣——那是 Zend Framework 的文件,我相信没问题。您确定您正确下载了所有文件吗?

标签: pdf magento invoice


【解决方案1】:

我以前用过这个方法:

将图像放在 /media 文件夹中的图像中,然后在您希望图像出现的位置插入此代码:

$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 尺寸和坐标。但这应该可以。

【讨论】:

    【解决方案2】:

    要发生该错误,$customerLogo 必须为 null。答案是确保$customerLogo 不为空。

    【讨论】:

    • 我检查了 '$customerLogo' 它不为空,它返回 'D:\..\..\media\catalog\customer\logo\1307011576pdff.png'。我在那个位置有那个图像。
    • 如果你检查Zend drawImage 它表明你需要传递一个对象,而不是一个字符串。事实上,它应该在传递错误的参数类型时引发更早的错误。
    猜你喜欢
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 2014-08-10
    • 2014-01-19
    相关资源
    最近更新 更多