php制作网页教程pdf,php中pdf页面制作方法
FPDF即“Free PDF”,FPDF類庫提供了基本的PDF創建功能,其源代碼和使用權是免費的。本文主要和大家分享php中pdf頁面制作方法,希望能幫助到大家。
PDF格式文檔優勢通用:PDF文檔在UNIX和Windows系統均可正常使用。
安全:PDF文檔可設置為只讀模式,并且可以添加密碼等保護措施。
美觀:PDF文檔可以很大程度上兼容中文編碼,并且保留當前頁面排版。
精巧:大多數情況下,生成PDF文檔會減小文件體積。
FPDF類庫下載FPDF類庫下載地址: http://www.fpdf.org/
FPDF類庫中文插件下載地址: http://www.fpdf.org/download/chinese.zip
FPDF類庫配置下載FPDF文件。
將下載壓縮文件解壓到項目根目錄下。
在項目中引用FPDF類庫(如下代碼)。<?phpdefine ('FPDF_FONTPATH','font/');require_once('fpdf/fpdf.php');?>
FPDF類庫的具體操作
創建對象new FPDF([string page-orientation [, string measure-unit [, string page-format]]]);
/*
page-orientation:可選參數,表示PDF文檔為橫向或縱向,默認 P
取值:P:縱向 L:橫向
measure-unit:可選參數,表示計量單元,默認 mm
取值:pt:點 mm:毫米 cm:厘米 in:英寸
page-format:可選參數,紙張類型,默認 A4
取值: A4、A5、Letter等
*/
添加新頁void AddPage([string page-orientation]);/*
page-orientation:可選參數,表示PDF文檔為橫向或縱向,默認 P
取值:P:縱向 L:橫向
*/
設置字體void SetFont(string font [, string style [, float size]]);/*
font:表示字體;
style:可選參數,表示樣式,默認為普通樣式;
取值:B:粗體 I:斜體 U:下劃線
size:可選參數,表示字體大小,默認為12pt;
*/
增加單元格void Cell(float width, float height, string txt, int border, int ln, string align, boolean fill, string link);/*
width:增加單元格寬度。
height:增加單元格高度。
str:放置在單元格中的文本。
border:單元格邊框。
ln:換行高度,默認為0,即換一行。
align:對齊方式,默認居左,R時居右,C時居中。
fill:是否顏色填充,默認false。
link:添加鏈接,默認無鏈接.
* Cell()函數是FPDF中輸出文字的主要方式之一。
*/
輸出文檔String Output([string name [, string dest]]);
/*
name:可選參數,表示要儲存的文件名。
dest:可選參數,操作內容。
取值: I:將PDF文檔直接在瀏覽器中顯示。 D:下載PDF文檔。
F:保存為本地文件。
S:返回一個字符串值。
*/
插入圖片void Image(string file, float x, float y float width, float height);/*
file:圖片路徑。
x:圖片位置的橫坐標。
y:圖片位置的縱坐標。
width:圖片寬度。
height:圖片高度。
*/
解決中文亂碼問題下載FPDF中的中文插件chinese.php文件,創建PDF_Chinese()對象。
將頁面編碼設置為GB2312或使用iconv()函數改變字符串編碼方式。/*示例代碼如下*/<?php
require_once('fpdf/chinese.php'); $pdf=new PDF_Chinese('P','mm','A4'); $pdf -> AddGBFont ('GB',iconv("UTF-8","gbk",'微軟雅黑'));
$pdf -> AddPage ();
$pdf -> SetFont ('GB', '', 20);
$pdf -> Cell(0,0,iconv("UTF-8","gbk",'你好,世界!')); $pdf -> Write (5, iconv("UTF-8","gbk",'你好,世界!'));
$pdf -> Output();
?>
設置頁眉和頁腳
通過重寫FPDF類中的Header() 方法和Footer() 方法設置頁眉和頁腳。<?phprequire_once ('fpdf/chinese.php');class PDF extends PDF_Chinese{
function Header(){
$this->SetFont('GB','',10); $this->Write(10,iconv("UTF-8","gbk",'這是頁眉!')); $this->Ln(20);
} function Footer(){
$this->SetY(-15); $this->SetFont('GB','',10); $this->Cell(0,10,iconv("UTF-8","gbk",'這是頁腳!'));
}
}$pdf=new PDF('P','mm','A4');$pdf -> AddGBFont ('GB',iconv("UTF-8","gbk",'微軟雅黑'));
$pdf -> AddPage ();
$pdf -> SetFont ('GB', '', 20);
$pdf -> Cell(0,0,iconv("UTF-8","gbk",'你好,世界!'));$pdf -> Write (5, iconv("UTF-8","gbk",'你好,世界!'));
$pdf -> Output();
?>
設置/獲取某元素在頁面中的位置void setX(float x);
//設置某元素在頁面的X坐標,單位為mm。如x為負數,則表示自頁面右端向左的距離。void setY(float y [, boolean resetX]);
//設置某元素在頁面的Y坐標,單位為mm。如y為負數,則表示自頁面底部向上的距離。若可選參數resetX為真則重置X坐標。void setXY(float x, float y);
//設置某元素在頁面的(X,Y)坐標,規則如上,定位Y時不重置X坐標。float getX();
//獲得某元素當前X坐標。float getY();
//獲得某元素當前Y坐標。
輸出字符串void Write(float h, string txt [, mixed link]);/*
h:定義字符串的行高。
txt:指定輸出字符串。
link:可選參數,設置鏈接。
*/
換行void Ln([float h]);//h:設置行高,默認值為最后輸出的行的高度。
正文輸出void MultiCell(float width, float height, string txt, int border, string align, boolean fill);/*
width:單元格寬度。
height:單元格高度。
txt:放置在單元格中的文本。
border:單元格邊框,默認為0。
align:對齊方式。默認居左,R=居右,C=居中。
fill:是否顏色填充。默認false。
* MultiCell()函數是FPDF輸出大段文字的主要方法,可自動換行。
*/
繪制表格
利用Cell()函數循環創建單元格,最終組成表格。<?phprequire_once ('fpdf/chinese.php');$pdf = new PDF_Chinese('P','mm','A4');$pdf -> AddGBFont();$pdf -> AddPage();$pdf -> SetFont('GB','',14);$header = array('姓名','年齡','性別','工資');$data = array();$data[0] = array('小張','24','男','5,000.00');$data[1] = array('小王','22','女','4,000.00');$width = array(40,40,40,40);for($i=0;$i Cell($width[$i],6,iconv("UTF-8","gbk",$header[$i]),1);
}$pdf -> Ln();foreach($data as $row){ $pdf -> Cell($width[0],6,iconv("UTF-8","gbk",$row[0]),1); $pdf -> Cell($width[1],6,iconv("UTF-8","gbk",$row[1]),1); $pdf -> Cell($width[2],6,iconv("UTF-8","gbk",$row[2]),1); $pdf -> Cell($width[3],6,iconv("UTF-8","gbk",$row[3]),1); $pdf -> Ln();
}$pdf -> Output();?>
注意事項部分資料中含有FPDF類庫的Open()方法,但實際上類庫中并不包含。使用Open()方法將會造成錯誤。
使用FPDF類生成PDF文件時,編碼格式應設置為GB2312(或GB相關編碼),否則即使繼承了PDF_Chinese類依然是亂碼。
總結
以上是生活随笔為你收集整理的php制作网页教程pdf,php中pdf页面制作方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: APP性能测试——内存测试
- 下一篇: Windows7 换XP 字体 (QQ字