程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 手把手教你編程打印出PDF

手把手教你編程打印出PDF

編輯:關於PHP編程

    今天使用的類叫FPDF,FPDF這個PHP Class允許你采用純PHP(更確切地說就是不需要使用PDFlib)來生成PDF文件。它以PHP Class展現並且加速PDF文檔在編程語言中的進程。它所具有的特點包括:可選擇的單元大小,頁面格式和頁邊距;頁眉和頁腳管理;自動分頁;自動換行與 文本自動對齊等等。 同時它還支持多種圖片格式,如JPEG,PNG,TrueType和Type1等等。試用一下你一定不會失望。
    1、從網上下載fpdf的類,然後實用require包含進來(附件裡也有)。

    復制代碼 代碼如下:
    require('./fpdf/fpdf.php');//包含pdf文件


    2、然後我們定義一個數組,數組的內容是今天的獎牌情況

    復制代碼 代碼如下:
    /*
    * country,國家
    * nationalFlag,國旗
    * glod,金牌數量
    * silver,銀牌數量
    * copper,銀牌數量
    */
    $platle=array(
    array('country'=>'PRC','nationalFlag'=>'rpc.jpg','glod'=>27,'silver'=>13,'copper'=>15),
    array('country'=>'USA','nationalFlag'=>'usa.jpg','glod'=>25,'silver'=>16,'copper'=>4),
    array('country'=>'UK','nationalFlag'=>'uk.jpg','glod'=>14,'silver'=>7,'copper'=>8)
    );


    3、既然第一步已經包含進類來了,然後咱再自己定義一個類以方便定義自己的內容

    復制代碼 代碼如下:
    class PDF extends FPDF{
    /*
    * $count,國家
    * $nationalFlag,國旗的圖片地址
    * $imageX,國旗的x坐標
    * $imageY,國旗的Y坐標
    * $goldTotal,金牌總數
    * $silverTotal,銀牌總數
    * $copperTotal,銅牌總數
    */
    function createHead($country,$nationalFlag,$imageX,$imageY,$goldTotal,$silverTotal,$copperTotal){
    $this->setFont('Arial','B','24');//定義一個字體及樣式
    $this->cell(40,20,$country,15);//顯示各個國家的信息
    $this->image($nationalFlag,$imageX,$imageY);//國旗的位置
    $this->setX('70');//設置國旗的坐標
    $this->setTextColor(200,160,12);//設置金牌的顏色
    $this->cell(40,20,$goldTotal);//顯示金牌數量
    $this->setX('100');//設置金牌數量的顯示位置
    $this->setTextColor(170,162,138);//設置銀牌的顏色
    $this->cell(40,20,$silverTotal);//顯示銀牌數量
    $this->setX('130');//設置銀牌數量的顯示位置
    $this->setTextColor(187,120,68);//設置銅牌的顏色
    $this->cell(40,20,$copperTotal);//顯示銀牌的位置
    $this->ln();//進行換行
    $this->setTextColor(0,0,0);//因為設置的顏色能在整個頁面都有效,所以這裡每次輸入一個國家的信息就恢復初始的顏色
    }
    }


    使用到的各種方法解釋:
    1、SetFont(string family [, string style [, float size]])
    設定字符串的字型。在文字或整篇文章顯示之前,該方法設置的字體在整個PDF文件中都試用。
    參數1:family,設定需要的字體。
    參數2:style,設定樣式。(空字符串代表普通文字,U代表下劃線,B代表粗體,I代表斜體)。
    參數3:size,字體的大小。

    2、Cell(float w [, float h [, string txt]])
    顯示一個儲存格 (長方形范圍),同時,也提供其它功能選項,包括(邊框、背景顏色、字符串)。儲存格左上角的位置為目前位置。
    注:該方法中還有其他的參數,沒有列出來。因為在該實驗中沒有用到。
    參數1:w儲存格寬度。 若為:0,這個儲存格會延伸至頁的右邊邊緣。
    參數2:儲存格高度。默認值為:0.
    參數3:txt,要打印出來的內容。

    3、Ln([float h])
    完成行中斷,並且換行。會使到目前的(x,y)坐標改變,橫坐標(x)回到去左邊邊緣,並且將縱坐標(y)高度增加。
    參數1:h,下一行的距離或高度。默認值為:高度相等於最後顯示的高度。

    4、SetTextColor(int r [, int g, int b])
    定義文字使用的顏色。可以使用RGB色彩或灰階模式來定義。這個功能可以在一頁之前建立,而且那個色彩值會保留在一頁到另一頁。

    4、類已經定義完了,最後調用一下

    復制代碼 代碼如下:
    $pdf=new PDF();//實例化類
    $pdf->AddPage();
    $imageX=40;//設置圖片的初始X值
    $imageY=15;//設置圖片的初始Y值
    foreach($platle as $key=>$value){
    $pdf->createHead($value['country'],$value['nationalFlag'],$imageX,$imageY,$value['glod'],$value['silver'],$value['copper']);
    $imageY+=20;
    }
    $pdf->output();//輸出PDF


    注:
    1、AddPage()方法是用來生成一個新的頁面的。每調用一次都生成一個新的頁面。
    2、outPut()方法是用來輸出PDF的。
    代碼及類文件下載:點擊下載

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved