日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

php制作网页教程pdf,php中pdf页面制作方法

發(fā)布時(shí)間:2023/12/20 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php制作网页教程pdf,php中pdf页面制作方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

FPDF即“Free PDF”,FPDF類庫提供了基本的PDF創(chuàng)建功能,其源代碼和使用權(quán)是免費(fèi)的。本文主要和大家分享php中pdf頁面制作方法,希望能幫助到大家。

PDF格式文檔優(yōu)勢通用:PDF文檔在UNIX和Windows系統(tǒng)均可正常使用。

安全:PDF文檔可設(shè)置為只讀模式,并且可以添加密碼等保護(hù)措施。

美觀:PDF文檔可以很大程度上兼容中文編碼,并且保留當(dāng)前頁面排版。

精巧:大多數(shù)情況下,生成PDF文檔會(huì)減小文件體積。

FPDF類庫下載FPDF類庫下載地址: http://www.fpdf.org/

FPDF類庫中文插件下載地址: http://www.fpdf.org/download/chinese.zip

FPDF類庫配置下載FPDF文件。

將下載壓縮文件解壓到項(xiàng)目根目錄下。

在項(xiàng)目中引用FPDF類庫(如下代碼)。<?phpdefine ('FPDF_FONTPATH','font/');require_once('fpdf/fpdf.php');?>

FPDF類庫的具體操作

創(chuàng)建對象new FPDF([string page-orientation [, string measure-unit [, string page-format]]]);

/*

page-orientation:可選參數(shù),表示PDF文檔為橫向或縱向,默認(rèn) P

取值:P:縱向 L:橫向

measure-unit:可選參數(shù),表示計(jì)量單元,默認(rèn) mm

取值:pt:點(diǎn) mm:毫米 cm:厘米 in:英寸

page-format:可選參數(shù),紙張類型,默認(rèn) A4

取值: A4、A5、Letter等

*/

添加新頁void AddPage([string page-orientation]);/*

page-orientation:可選參數(shù),表示PDF文檔為橫向或縱向,默認(rèn) P

取值:P:縱向 L:橫向

*/

設(shè)置字體void SetFont(string font [, string style [, float size]]);/*

font:表示字體;

style:可選參數(shù),表示樣式,默認(rèn)為普通樣式;

取值:B:粗體 I:斜體 U:下劃線

size:可選參數(shù),表示字體大小,默認(rèn)為12pt;

*/

增加單元格void Cell(float width, float height, string txt, int border, int ln, string align, boolean fill, string link);/*

width:增加單元格寬度。

height:增加單元格高度。

str:放置在單元格中的文本。

border:單元格邊框。

ln:換行高度,默認(rèn)為0,即換一行。

align:對齊方式,默認(rèn)居左,R時(shí)居右,C時(shí)居中。

fill:是否顏色填充,默認(rèn)false。

link:添加鏈接,默認(rèn)無鏈接.

* Cell()函數(shù)是FPDF中輸出文字的主要方式之一。

*/

輸出文檔String Output([string name [, string dest]]);

/*

name:可選參數(shù),表示要儲(chǔ)存的文件名。

dest:可選參數(shù),操作內(nèi)容。

取值: I:將PDF文檔直接在瀏覽器中顯示。 D:下載PDF文檔。

F:保存為本地文件。

S:返回一個(gè)字符串值。

*/

插入圖片void Image(string file, float x, float y float width, float height);/*

file:圖片路徑。

x:圖片位置的橫坐標(biāo)。

y:圖片位置的縱坐標(biāo)。

width:圖片寬度。

height:圖片高度。

*/

解決中文亂碼問題下載FPDF中的中文插件chinese.php文件,創(chuàng)建PDF_Chinese()對象。

將頁面編碼設(shè)置為GB2312或使用iconv()函數(shù)改變字符串編碼方式。/*示例代碼如下*/<?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();

?>

設(shè)置頁眉和頁腳

通過重寫FPDF類中的Header() 方法和Footer() 方法設(shè)置頁眉和頁腳。<?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();

?>

設(shè)置/獲取某元素在頁面中的位置void setX(float x);

//設(shè)置某元素在頁面的X坐標(biāo),單位為mm。如x為負(fù)數(shù),則表示自頁面右端向左的距離。void setY(float y [, boolean resetX]);

//設(shè)置某元素在頁面的Y坐標(biāo),單位為mm。如y為負(fù)數(shù),則表示自頁面底部向上的距離。若可選參數(shù)resetX為真則重置X坐標(biāo)。void setXY(float x, float y);

//設(shè)置某元素在頁面的(X,Y)坐標(biāo),規(guī)則如上,定位Y時(shí)不重置X坐標(biāo)。float getX();

//獲得某元素當(dāng)前X坐標(biāo)。float getY();

//獲得某元素當(dāng)前Y坐標(biāo)。

輸出字符串void Write(float h, string txt [, mixed link]);/*

h:定義字符串的行高。

txt:指定輸出字符串。

link:可選參數(shù),設(shè)置鏈接。

*/

換行void Ln([float h]);//h:設(shè)置行高,默認(rèn)值為最后輸出的行的高度。

正文輸出void MultiCell(float width, float height, string txt, int border, string align, boolean fill);/*

width:單元格寬度。

height:單元格高度。

txt:放置在單元格中的文本。

border:單元格邊框,默認(rèn)為0。

align:對齊方式。默認(rèn)居左,R=居右,C=居中。

fill:是否顏色填充。默認(rèn)false。

* MultiCell()函數(shù)是FPDF輸出大段文字的主要方法,可自動(dòng)換行。

*/

繪制表格

利用Cell()函數(shù)循環(huán)創(chuàng)建單元格,最終組成表格。<?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();?>

注意事項(xiàng)部分資料中含有FPDF類庫的Open()方法,但實(shí)際上類庫中并不包含。使用Open()方法將會(huì)造成錯(cuò)誤。

使用FPDF類生成PDF文件時(shí),編碼格式應(yīng)設(shè)置為GB2312(或GB相關(guān)編碼),否則即使繼承了PDF_Chinese類依然是亂碼。

總結(jié)

以上是生活随笔為你收集整理的php制作网页教程pdf,php中pdf页面制作方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。