手把手教你打印出PDF(關(guān)于fpdf的簡(jiǎn)單應(yīng)用)
今天使用的類(lèi)叫FPDF,F(xiàn)PDF這個(gè)PHP Class允許你采用純PHP(更確切地說(shuō)就是不需要使用PDFlib)來(lái)生成PDF文件。它以PHP Class展現(xiàn)并且加速PDF文檔在編程語(yǔ)言中的進(jìn)程。它所具有的特點(diǎn)包括:可選擇的單元大小,頁(yè)面格式和頁(yè)邊距;頁(yè)眉和頁(yè)腳管理;自動(dòng)分頁(yè);自動(dòng)換行與文本自動(dòng)對(duì)齊等等。 同時(shí)它還支持多種圖片格式,如JPEG,PNG,TrueType和Type1等等。試用一下你一定不會(huì)失望。
1、從網(wǎng)上下載fpdf的類(lèi),然后實(shí)用require包含進(jìn)來(lái)(附件里也有)。
require('./fpdf/fpdf.php');//包含pdf文件
2、然后我們定義一個(gè)數(shù)組,數(shù)組的內(nèi)容是今天的獎(jiǎng)牌情況
/*
* country,國(guó)家
* nationalFlag,國(guó)旗
* glod,金牌數(shù)量
* silver,銀牌數(shù)量
* copper,銀牌數(shù)量
*/
$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、既然第一步已經(jīng)包含進(jìn)類(lèi)來(lái)了,然后咱再自己定義一個(gè)類(lèi)以方便定義自己的內(nèi)容
class PDF extends FPDF{
/*
* $count,國(guó)家
* $nationalFlag,國(guó)旗的圖片地址
* $imageX,國(guó)旗的x坐標(biāo)
* $imageY,國(guó)旗的Y坐標(biāo)
* $goldTotal,金牌總數(shù)
* $silverTotal,銀牌總數(shù)
* $copperTotal,銅牌總數(shù)
*/
function createHead($country,$nationalFlag,$imageX,$imageY,$goldTotal,$silverTotal,$copperTotal){
$this->setFont('Arial','B','24');//定義一個(gè)字體及樣式
$this->cell(40,20,$country,15);//顯示各個(gè)國(guó)家的信息
$this->image($nationalFlag,$imageX,$imageY);//國(guó)旗的位置
$this->setX('70');//設(shè)置國(guó)旗的坐標(biāo)
$this->setTextColor(200,160,12);//設(shè)置金牌的顏色
$this->cell(40,20,$goldTotal);//顯示金牌數(shù)量
$this->setX('100');//設(shè)置金牌數(shù)量的顯示位置
$this->setTextColor(170,162,138);//設(shè)置銀牌的顏色
$this->cell(40,20,$silverTotal);//顯示銀牌數(shù)量
$this->setX('130');//設(shè)置銀牌數(shù)量的顯示位置
$this->setTextColor(187,120,68);//設(shè)置銅牌的顏色
$this->cell(40,20,$copperTotal);//顯示銀牌的位置
$this->ln();//進(jìn)行換行
$this->setTextColor(0,0,0);//因?yàn)樵O(shè)置的顏色能在整個(gè)頁(yè)面都有效,所以這里每次輸入一個(gè)國(guó)家的信息就恢復(fù)初始的顏色
}
}
使用到的各種方法解釋?zhuān)?BR>1、SetFont(string family [, string style [, float size]])
設(shè)定字符串的字型。在文字或整篇文章顯示之前,該方法設(shè)置的字體在整個(gè)PDF文件中都試用。
參數(shù)1:family,設(shè)定需要的字體。
參數(shù)2:style,設(shè)定樣式。(空字符串代表普通文字,U代表下劃線(xiàn),B代表粗體,I代表斜體)。
參數(shù)3:size,字體的大小。
2、Cell(float w [, float h [, string txt]])
顯示一個(gè)儲(chǔ)存格 (長(zhǎng)方形范圍),同時(shí),也提供其它功能選項(xiàng),包括(邊框、背景顏色、字符串)。儲(chǔ)存格左上角的位置為目前位置。
注:該方法中還有其他的參數(shù),沒(méi)有列出來(lái)。因?yàn)樵谠搶?shí)驗(yàn)中沒(méi)有用到。
參數(shù)1:w儲(chǔ)存格寬度。 若為:0,這個(gè)儲(chǔ)存格會(huì)延伸至頁(yè)的右邊邊緣。
參數(shù)2:儲(chǔ)存格高度。默認(rèn)值為:0.
參數(shù)3:txt,要打印出來(lái)的內(nèi)容。
3、Ln([float h])
完成行中斷,并且換行。會(huì)使到目前的(x,y)坐標(biāo)改變,橫坐標(biāo)(x)回到去左邊邊緣,并且將縱坐標(biāo)(y)高度增加。
參數(shù)1:h,下一行的距離或高度。默認(rèn)值為:高度相等于最后顯示的高度。
4、SetTextColor(int r [, int g, int b])
定義文字使用的顏色??梢允褂肦GB色彩或灰階模式來(lái)定義。這個(gè)功能可以在一頁(yè)之前建立,而且那個(gè)色彩值會(huì)保留在一頁(yè)到另一頁(yè)。
4、類(lèi)已經(jīng)定義完了,最后調(diào)用一下
$pdf=new PDF();//實(shí)例化類(lèi)
$pdf->AddPage();
$imageX=40;//設(shè)置圖片的初始X值
$imageY=15;//設(shè)置圖片的初始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()方法是用來(lái)生成一個(gè)新的頁(yè)面的。每調(diào)用一次都生成一個(gè)新的頁(yè)面。
2、outPut()方法是用來(lái)輸出PDF的。
代碼及類(lèi)文件下載:點(diǎn)擊下載
相關(guān)文章
php使用fopen創(chuàng)建utf8編碼文件的方法
這篇文章主要介紹了php使用fopen創(chuàng)建utf8編碼文件的方法,是涉及編碼問(wèn)題需要注意的一個(gè)技巧,需要的朋友可以參考下2014-10-10
php實(shí)現(xiàn)parent調(diào)用父類(lèi)的構(gòu)造方法與被覆寫(xiě)的方法
這篇文章主要介紹了php實(shí)現(xiàn)parent調(diào)用父類(lèi)的構(gòu)造方法與被覆寫(xiě)的方法,在上一篇關(guān)于使用類(lèi)繼承解決代碼重復(fù)問(wèn)題的基礎(chǔ)上,進(jìn)一步分析了parent調(diào)用父類(lèi)的構(gòu)造方法與被覆寫(xiě)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
php打開(kāi)本地exe程序,js打開(kāi)本地exe應(yīng)用程序,并傳遞相關(guān)參數(shù)方法
下面小編就為大家分享一篇php打開(kāi)本地exe程序,js打開(kāi)本地exe應(yīng)用程序,并傳遞相關(guān)參數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
PHP實(shí)現(xiàn)生成Excel文件并導(dǎo)出的示例詳解
這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)生成Excel文件并導(dǎo)出的方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)PHP有一定的幫助,需要的可以參考一下2023-01-01
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)之方法重寫(xiě)(override)操作示例
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)之方法重寫(xiě)(override)操作,簡(jiǎn)單描述了php面向?qū)ο蟪绦蛟O(shè)計(jì)中方法重寫(xiě)的原理,并結(jié)合實(shí)例形式分析了php方法重寫(xiě)相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12
php字符串函數(shù)學(xué)習(xí)之strstr()
這篇文章主要介紹了php字符串函數(shù)學(xué)習(xí)之strstr(),本文講解了它的定義和用法、參數(shù)描述、提示和注釋以及多個(gè)使用示例,需要的朋友可以參考下2015-03-03
PHP寫(xiě)MySQL數(shù)據(jù) 實(shí)現(xiàn)代碼
非常簡(jiǎn)單的php操作數(shù)據(jù)庫(kù)代碼,其實(shí)就是添加一條記錄啊,入門(mén)的朋友可以看看。2009-06-06
將CMYK顏色值和RGB顏色相互轉(zhuǎn)換的PHP代碼
本節(jié)主要介紹了將CMYK顏色值和RGB顏色相互轉(zhuǎn)換的PHP代碼,需要的朋友可以參考下2014-07-07

