zoukankan      html  css  js  c++  java
  • fpdf类库应用实现代码

    1 入门例子
    <?php
    header("Content-Type:text/html;charset=gb2312");	//设置页码编码格式
    $conn=@mysql_connect("localhost","root","") or die('连接失败:' . mysql_error());	//连接服务器
    mysql_select_db("db_pdf",$conn) or die ('数据库选择失败:' . mysql_error());			//选择数据库
    mysql_query("set names utf8");						//设置页面编码格式
    include('pdf/chinese.php');							//载入中文组件
    
    class PDF extends PDF_Chinese{						//继承中文类
    	function Header(){								//定义方法设置标题
    		$this->SetFont('gb','',10);					//设置字体
    		$this->Write(10,'文章');					//输出标题内容
    		$this->Ln(20);								//换行
    	}
    	function Footer(){								//设置页脚
    		$this->SetY(-15);
    		$this->SetFont('gb','',10);
    		$this->Cell(0,10,'第'.$this->PageNo().'页');
    	}
    }
    $colname_rs_id=$_GET['id'];							//获取指定数据的ID
    $query_rs_article=sprintf("select * from tb_articles where id=%s",$colname_rs_id);	//定义SQL语句
    $rs_article=mysql_query($query_rs_article,$conn) or die(mysql_error());				//执行SQL查询语句
    $row_rs_article=mysql_fetch_assoc($rs_article);		//获取查询结果
    
    $pdf=new PDF();										//实例化PDF类
    $pdf->AddGBFont();									//设置字体
    $pdf->Open();										//打开文件
    $pdf->AliasNbPages();								//为每页定义一个别名
    $pdf->AddPage();									//分页方法
    
    $pdf->SetFont('gb','B',20);							//设置字体
    $pdf->Cell(0,10,iconv("utf-8","gb2312",$row_rs_article['topic']));		//输出一个内容
    $pdf->Ln();											//换行
    
    $pdf->SetFont('gb','',10);
    $pdf->Cell(0,10,iconv("utf-8","gb2312",$row_rs_article['author']));
    $pdf->Ln();
    
    $pdf->SetFont('gb','',10);
    $content= iconv('utf-8','gb2312',$row_rs_article['content']);
    $pdf->MultiCell(0,5,$content);						//输出内容,并且则行终止
    $pdf->Ln();
    
    $pdf->AddPage();									//分页
    $pdf->Output(iconv("utf-8","gb2312",$row_rs_article['topic']).'.pdf',true);	//生成PDF文件
    ?>
    

     这个办法在浏览器直接显示一个PDF

    2 中文处理
    采用那个chinese包来处理中文

    require(‘chinese/chinese.php‘);
    $pdf=new PDF_Chinese();
    $pdf->AddGBFont(‘simhei‘,‘黑体‘);
    $pdf->Open();
    $pdf->AddPage();
    $pdf->SetFont(‘simsun‘,‘‘,20);
    $pdf->Cell(40,10,‘Hello World!我们是中文哦‘);
    $pdf->Output();
    

     
    3 图片处理

    $pdf->Image(‘sight.jpg‘,20,20,0,0); 
    

    各种说法说这个可以生成图片。经过处理,发现加了图片的PDF是文件变大了。不过图片看不见。不知道什么原理
    翻开源码,image函数里有set_magic_quotes_runtime 不知道是不是这个玩意儿造成的。
    翻遍各种资料,说TCPDF比较流行。下一步研究一下TCPDF.
    目前结论FPDF处理不带图片的还行。

    4 中文函数参考
    AcceptPageBreak - 接受或不接受自動分頁
    AddFont - 加入一個新的字型
    AddLink - 建立一個內部連結
    AddPage - 加入新的一頁
    AliasNbPages - 為每一頁定義一個別名
    Cell - 顯示一個儲存格
    Close - 使 FDP 文件終止
    Error - 嚴重錯誤
    Footer - 頁尾
    FPDF - PDF 核心建設程式
    GetStringWidth - 計算字串的寬度
    GetX - 取得現時(X)橫座標的位置
    GetY - 取得現時縱座標(Y)的位置
    Header - 頁首
    Image - 輸出一個圖象
    Line - 劃出一條線
    Link - 放入一個連結
    Ln - 行中斷,換行
    MultiCell - 顯示出文字並且則行行中止
    Open - 建立一個文件
    Output - 儲存或送出文件
    PageNo - 取得目前的頁數
    Rect - 產生一個矩形
    SetAuthor - 設定文件的著作者
    SetAutoPageBreak - 設定為自動分頁模式
    SetCompression - 啟動(on)或關閉(off)壓縮。
    SetCreator - 設定文件的創作者名稱
    SetDisplayMode - 設定顯示模式
    SetDrawColor - 設定繪畫顏色
    SetFillColor - 設定繪畫顏色
    SetFont - 設定字型
    SetFontSize - 設定字型大小
    SetKeywords - 在文件中,把關鍵字聯在一起。
    SetLeftMargin - 設定左邊邊界
    SetLineWidth - 設定線的寬度
    SetLink - 設定內部連結的目的地
    SetMargins - 設定頁邊的空白距離
    SetRightMargin - 設定右邊的空白距離
    SetSubject - 設定文件的主題
    SetTextColor - 設定文字的顏色
    SetTitle - 設定文件標題
    SetTopMargin - 設定頂部空白距離
    SetX - 設定目前 x 的位置
    SetXY - 設定目前 x 和 y 的位置
    SetY - 設定目前 y 的位置
    Text - 顯示一個字串
    Write - 顯示流暢的文字

    thinkphp整合系列之tcpdf类生成pdf文件https://baijunyao.com/article/73

    部分出处www.cnblogs.com/yuexiaosheng/archive/2012/08/30/2664313.html
    在线参考 http://twpug.net/docs/fpdf152/
    首发于http://java-er.com - http://java-er.com/blog/fpdf/

  • 相关阅读:
    「WordPress 技巧」:如何修改 WordPress 数据库前缀
    wordpress安全防护,你了解多少
    一些需要禁用的PHP危险函数(disable_functions)
    可以安全禁用的PHP函数之disable_functions功能详解
    不定高度的元素实现transition动画_如何为height:auto的div添加css3过渡动画
    完美兼容实现:解决textarea输入框限制字数长度(带统计功能)
    使用Map标签指定点击区域时的兼容性问题
    前端性能测试工具整理简介_性能测试工具都有哪些?
    移动端开发注意问题
    HTML51-清除浮动overflow、网易注册界面基本结构搭建
  • 原文地址:https://www.cnblogs.com/aten/p/9056754.html
Copyright © 2011-2022 走看看