手把手教你編程列印出PDF_PHP教程

來源:互聯網
上載者:User
今天使用的類叫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,設定樣式。(Null 字元串代表普通文字,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的。
代碼及類檔案下載:點擊下載

http://www.bkjia.com/PHPjc/372056.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/372056.htmlTechArticle今天使用的類叫FPDF,FPDF這個PHP Class允許你採用純PHP(更確切地說就是不需要使用PDFlib)來產生PDF檔案。它以PHP Class展現並且加速PDF文檔在編程...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.