今天使用的類叫FPDFFPDF這個PHP Class允許你采用純PHP(更確切地說就是不需要使用PDFlib)來生成PDF文件它以PHP Class展現並且加速PDF文檔在編程語言中的進程它所具有的特點包括可選擇的單元大小頁面格式和頁邊距頁眉和頁腳管理自動分頁自動換行與 文本自動對齊等等 同時它還支持多種圖片格式如JPEGPNGTrueType和Type等等試用一下你一定不會失望
從網上下載fpdf的類然後實用require包含進來(附件裡也有)
復制代碼 代碼如下:
require(
/fpdf/fpdf
php
);//包含pdf文件
然後我們定義一個數組數組的內容是今天的獎牌情況
復制代碼 代碼如下:
/*
* country
國家
* nationalFlag
國旗
* glod
金牌數量
* silver
銀牌數量
* copper
銀牌數量
*/
$platle=array(
array(
country
=>
PRC
nationalFlag
=>
rpc
jpg
glod
=>
silver
=>
copper
=>
)
array(
country
=>
USA
nationalFlag
=>
usa
jpg
glod
=>
silver
=>
copper
=>
)
array(
country
=>
UK
nationalFlag
=>
uk
jpg
glod
=>
silver
=>
copper
=>
)
);
既然第一步已經包含進類來了然後咱再自己定義一個類以方便定義自己的內容
復制代碼 代碼如下:
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
);//定義一個字體及樣式
$this
>cell(
$country
);//顯示各個國家的信息
$this
>image($nationalFlag
$imageX
$imageY);//國旗的位置
$this
>setX(
);//設置國旗的坐標
$this
>setTextColor(
);//設置金牌的顏色
$this
>cell(
$goldTotal);//顯示金牌數量
$this
>setX(
);//設置金牌數量的顯示位置
$this
>setTextColor(
);//設置銀牌的顏色
$this
>cell(
$silverTotal);//顯示銀牌數量
$this
>setX(
);//設置銀牌數量的顯示位置
$this
>setTextColor(
);//設置銅牌的顏色
$this
>cell(
$copperTotal);//顯示銀牌的位置
$this
>ln();//進行換行
$this
>setTextColor(
);//因為設置的顏色能在整個頁面都有效
所以這裡每次輸入一個國家的信息就恢復初始的顏色
}
}
使用到的各種方法解釋
SetFont(string family [ string style [ float size]])
設定字符串的字型在文字或整篇文章顯示之前該方法設置的字體在整個PDF文件中都試用
參數family設定需要的字體
參數style設定樣式(空字符串代表普通文字U代表下劃線B代表粗體I代表斜體)
參數size字體的大小
Cell(float w [ float h [ string txt]])
顯示一個儲存格 (長方形范圍)同時也提供其它功能選項包括(邊框背景顏色字符串)儲存格左上角的位置為目前位置
注該方法中還有其他的參數沒有列出來因為在該實驗中沒有用到
參數w儲存格寬度 若為這個儲存格會延伸至頁的右邊邊緣
參數儲存格高度默認值為
參數txt要打印出來的內容
Ln([float h])
完成行中斷並且換行會使到目前的(xy)坐標改變橫坐標(x)回到去左邊邊緣並且將縱坐標(y)高度增加
參數:h下一行的距離或高度默認值為高度相等於最後顯示的高度
SetTextColor(int r [ int g int b])
定義文字使用的顏色可以使用RGB色彩或灰階模式來定義這個功能可以在一頁之前建立而且那個色彩值會保留在一頁到另一頁
類已經定義完了最後調用一下
復制代碼 代碼如下:
$pdf=new PDF();//實例化類
$pdf
>AddPage();
$imageX=
;//設置圖片的初始X值
$imageY=
;//設置圖片的初始Y值
foreach($platle as $key=>$value){
$pdf
>createHead($value[
country
]
$value[
nationalFlag
]
$imageX
$imageY
$value[
glod
]
$value[
silver
]
$value[
copper
]);
$imageY+=
;
}
$pdf
>output();//輸出PDF
注
AddPage()方法是用來生成一個新的頁面的每調用一次都生成一個新的頁面
outPut()方法是用來輸出PDF的
代碼及類文件下載:點擊下載
From:http://tw.wingwit.com/Article/program/PHP/201311/21029.html