2016-05-15 67 views
0

我想使用TCPDF在標頭中添加圖像。我在我的magento商店中使用TCPDF。如何在TCPDF中添加圖像

目前我在做象下面這樣:

$tcpdf = new TCPDF_TCPDF(); 
$img = file_get_contents(Mage::getBaseDir('media') . '/dhl/logo.jpg'); 

$PDF_HEADER_LOGO = $tcpdf->Image('@' . $img);//any image file. check correct path. 
$PDF_HEADER_LOGO_WIDTH = "20"; 
$PDF_HEADER_TITLE = "This is my Title"; 
$PDF_HEADER_STRING = "This is Header Part"; 

$tcpdf->SetHeaderData($PDF_HEADER_LOGO, $PDF_HEADER_LOGO_WIDTH, $PDF_HEADER_TITLE, $PDF_HEADER_STRING); 

$tcpdf->Output('report_per_route_'.time().'.pdf', 'I'); 

還請指引我,如果我想在頁腳中添加我的商店名稱(左上角)和標誌(右上角),那麼我有什麼要遵循的步驟。

請幫幫我。

回答

0

好的。首先$PDF_HEADER_LOGO假設是一個圖像文件的名稱,而不是圖像數據 - 在Header()函數的默認實現中。然而,有一件重要的事情要記住,確切的位置取決於K_PATH_IMAGES常量,它應該包含圖像文件夾的路徑。如果它的定義在包含TCPDF庫之前就已經確定了,如果沒有,TCPDF會檢查一些默認路徑並且首先將現有的用作圖像目錄。這些目錄是:

  • ./examples/images/
  • ./images/
  • 的/ usr /共享/ DOC/PHP-TCPDF /示例/圖像/
  • 的/ usr /共享/ DOC/TCPDF /示例/圖像/
  • 的/ usr /共享/ DOC/PHP/TCPDF /示例/圖像/
  • /無功/網絡/ TCPDF /圖像/
  • /無功/網絡/ HTML/TCPDF /圖像/
  • 的/ usr /本地/ apache2的/ htdocs中/ TCPDF /圖像/
  • K_PATH_MAIN(其爲根TCPDF文件夾)

因此,要麼限定之前恆定,或將你的文件,以上面的目錄中的一個,然後只傳文件名作爲SetHeaderData的第一個參數,它應該工作。

要有類似的頁腳,您需要擴展基本的TCPDF_TCPDF類並覆蓋它的頁腳方法。

例子:

class MYPDF extends TCPDF_TCPDF { 

    // Page footer 
    public function Footer() { 
     // Position at 15 mm from bottom 
     $this->SetY(-15); 
     // Set font 
     $this->SetFont('helvetica', 'I', 8); 
     // Page number 
     $this->Cell(0, 10, 'COMPANY NAME', 0, false, 'C', 0, '', 0, false, 'T', 'M'); 
     $this->Image('/path/to/image.jpg', 500) 
    } 
} 

你可能需要制定出精確座標。特別是在圖像中,它取決於你的尺寸,你可以添加另一個參數到圖像函數是y座標,另外兩個參數 - 圖像的寬度和高度。

而且最重要的是我建議檢查TCPDF頁面上很好的例子部分:

http://www.tcpdf.org/examples.php

+0

你有一個想法在哪裏在Magento擴展這個類? – Aliana

+0

我推薦使用lib,無論如何你可能會用它來用於TCPDF。在那裏創建文件夾,並將你的擴展類放在一些文件中。其中還包括TCPDF,因此一個庫包含另一個庫。然後在你使用的任何控制器/觀察者/模型的createPdf(或任何)方法中只需要包含/ require它就可以了:'require(Mage :: getBaseDir('lib')。'/mypdf/mypdf.php'); ' – Deus777