2014-04-08 87 views
0

使用Zend框架附带的PDF解析器。我试图画图像,但得到一个错误。使用zendPDF绘制图像

function addReklam($reklamblad) //picture.png 
{ 

    // kolla hur många sidor som skapats och lägg till en sista reklamsida: 
    //Öppna fil här, lägg till den i PDF 
    $fish = 0; 
    if($this->drawed_lines<52) 
    { 
     $this->active_page = $this->pdf->pages[2]; 
     $fish = 1; 
    } 
    elseif($this->drawed_lines<92) 
    { 
     $this->active_page = $this->pdf->pages[3]; 
     $fish = 2; 
    } 
    elseif($this->drawed_lines<132) 
    { 
     $this->active_page = $this->pdf->pages[4]; 
     $fish = 3; 
    } 
    else 
    { 
     $this->active_page = $this->pdf->pages[5]; 
     $fish = 4; 
    } 


    //$this->active_page = $this->pdf->pages[5];  // sida 5 är reklamsidan 
    $image = $this->imageWidthPath($reklamblad); 
    $this->active_page->drawImage($image, $left, $bottom, $right, $top); 
} 

我得到这个消息:

Fatal error: Call to undefined method fakturapdf::imageWidthPath() in /data/web/script/pdffaktura/testpdf-txt.php on line 681 

编辑: 我已经试过现在这个样子:

function addReklam($reklamblad) 
    { 

     // kolla hur många sidor som skapats och lägg till en sista reklamsida: 
     //Öppna fil här, lägg till den i PDF 
     $fish = 0; 
     if($this->drawed_lines<52) 
     { 
      $this->active_page = $this->pdf->pages[2]; 
      $fish = 1; 
     } 
     elseif($this->drawed_lines<92) 
     { 
      $this->active_page = $this->pdf->pages[3]; 
      $fish = 2; 
     } 
     elseif($this->drawed_lines<132) 
     { 
      $this->active_page = $this->pdf->pages[4]; 
      $fish = 3; 
     } 
     else 
     { 
      $this->active_page = $this->pdf->pages[5]; 
      $fish = 4; 
     } 


     //$this->active_page = $this->pdf->pages[5];  // sida 5 är reklamsidan 
     $image = Zend_Pdf_Image::imageWithPath($reklamblad); 
     $this->active_page->drawImage($image, 400, 400, 400, 400); 


    } 

这似乎做工精细,我会得到任何错误。但是,这是使用它的正确方法吗?没有什么打印到PDF上。

+0

你在哪里定义了'imageWidthPath()'?这不是一个Zend函数,也不是一个PHP函数。你有没有在类addReklam()函数的类中定义它? – doydoy44

+0

@ doydoy44:查看我编辑的问题:-) – user500468

回答

0

是的,这是正确的。它是Zend_Pdf_Image::imageWithPath而不是$this->imageWidthPath()
这是一种静态方法。
如果它可以帮助你,我发现it