手把手教你打印出PDF(关于fpdf的简单应用)

 更新时间:2013年06月25日 11:25:51   作者:  
本篇文章是对关于fpdf的简单应用进行了详细的分析介绍,需要的朋友参考下

今天使用的类叫FPDF,FPDF这个PHP Class允许你采用纯PHP(更确切地说就是不需要使用PDFlib)来生成PDF文件。它以PHP Class展现并且加速PDF文档在编程语言中的进程。它所具有的特点包括:可选择的单元大小,页面格式和页边距;页眉和页脚管理;自动分页;自动换行与文本自动对齐等等。 同时它还支持多种图片格式,如JPEG,PNG,TrueType和Type1等等。试用一下你一定不会失望。
1、从网上下载fpdf的类,然后实用require包含进来(附件里也有)。

复制代码 代码如下:

require('./fpdf/fpdf.php');//包含pdf文件

2、然后我们定义一个数组,数组的内容是今天的奖牌情况  
复制代码 代码如下:

/*
     * country,国家
     * nationalFlag,国旗
     * glod,金牌数量
     * silver,银牌数量
     * copper,银牌数量
     */    
          $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、既然第一步已经包含进类来了,然后咱再自己定义一个类以方便定义自己的内容
复制代码 代码如下:

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','24');//定义一个字体及样式
            $this->cell(40,20,$country,15);//显示各个国家的信息
            $this->image($nationalFlag,$imageX,$imageY);//国旗的位置
            $this->setX('70');//设置国旗的坐标
            $this->setTextColor(200,160,12);//设置金牌的颜色
            $this->cell(40,20,$goldTotal);//显示金牌数量
            $this->setX('100');//设置金牌数量的显示位置
            $this->setTextColor(170,162,138);//设置银牌的颜色
            $this->cell(40,20,$silverTotal);//显示银牌数量
            $this->setX('130');//设置银牌数量的显示位置
            $this->setTextColor(187,120,68);//设置铜牌的颜色
            $this->cell(40,20,$copperTotal);//显示银牌的位置
            $this->ln();//进行换行
            $this->setTextColor(0,0,0);//因为设置的颜色能在整个页面都有效,所以这里每次输入一个国家的信息就恢复初始的颜色
        }
    }

使用到的各种方法解释:
1、SetFont(string family [, string style [, float size]])
设定字符串的字型。在文字或整篇文章显示之前,该方法设置的字体在整个PDF文件中都试用。
参数1:family,设定需要的字体。
参数2:style,设定样式。(空字符串代表普通文字,U代表下划线,B代表粗体,I代表斜体)。
参数3:size,字体的大小。

2、Cell(float w [, float h [, string txt]])
显示一个储存格 (长方形范围),同时,也提供其它功能选项,包括(边框、背景颜色、字符串)。储存格左上角的位置为目前位置。
注:该方法中还有其他的参数,没有列出来。因为在该实验中没有用到。
参数1:w储存格宽度。 若为:0,这个储存格会延伸至页的右边边缘。
参数2:储存格高度。默认值为:0.
参数3:txt,要打印出来的内容。

3、Ln([float h])
完成行中断,并且换行。会使到目前的(x,y)坐标改变,横坐标(x)回到去左边边缘,并且将纵坐标(y)高度增加。
参数1:h,下一行的距离或高度。默认值为:高度相等于最后显示的高度。

4、SetTextColor(int r [, int g, int b])
定义文字使用的颜色。可以使用RGB色彩或灰阶模式来定义。这个功能可以在一页之前建立,而且那个色彩值会保留在一页到另一页。

4、类已经定义完了,最后调用一下

复制代码 代码如下:

$pdf=new PDF();//实例化类
    $pdf->AddPage();
    $imageX=40;//设置图片的初始X值
    $imageY=15;//设置图片的初始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()方法是用来生成一个新的页面的。每调用一次都生成一个新的页面。
2、outPut()方法是用来输出PDF的。
代码及类文件下载:点击下载

相关文章

  • PHP获取文件夹大小函数用法实例

    PHP获取文件夹大小函数用法实例

    这篇文章主要介绍了PHP获取文件夹大小函数用法,实例分析了php针对文件夹操作的相关技巧,需要的朋友可以参考下
    2015-07-07
  • php基于mcrypt的加密解密实例

    php基于mcrypt的加密解密实例

    这篇文章主要介绍了php基于mcrypt的加密解密的实现方法,以实例形式分析了mcrypt加密解密的原理与具体实现方法,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • 如何基于PHP实现微信小程序pdf文件的预览功能

    如何基于PHP实现微信小程序pdf文件的预览功能

    前段时间文库类微信小程序开发中遇到个问题,就是要在小程序中预览pdf文件,下面这篇文章主要给大家介绍了关于如何基于PHP实现微信小程序pdf文件的预览功能,需要的朋友可以参考下
    2022-05-05
  • PHP下通过系统信号量加锁方式获取递增序列ID

    PHP下通过系统信号量加锁方式获取递增序列ID

    前一阵子,设计LAJP时需要在PHP中生成唯一ID,看似小菜一碟却着实让我为难了,在Java中一个同步方法即可搞定的事,但在PHP中却没有好的解决思路。
    2009-09-09
  • PHP递归算法的详细示例分析

    PHP递归算法的详细示例分析

    我们在建设一个网站的时候,程序员们首选的当属PHP语言。我们对PHP还是比较熟悉的,接下来我们将会为大家介绍一下PHP递归算法
    2013-02-02
  • PHP简单选择排序算法实例

    PHP简单选择排序算法实例

    这篇文章主要介绍了PHP简单选择排序算法实例,本文直接给出实现代码,并以类的方式实现,需要的朋友可以参考下
    2015-01-01
  • php处理json格式数据经典案例总结

    php处理json格式数据经典案例总结

    这篇文章主要介绍了php处理json格式数据的方法,详细讲述了json格式数据的概念与用法,并结合经典案例总结分析了php操作json格式数据的常用技巧,需要的朋友可以参考下
    2016-05-05
  • 聊聊PHP中require_once()函数为什么不好用

    聊聊PHP中require_once()函数为什么不好用

    php中你大概有发现require_once()不好用,但是没有深究过它为什么不好用,这篇文章从该函数的定义和用法聊聊不好用的原因,文中讲述的非常详细,对大家的学习或工作具有一定的参考价值
    2021-09-09
  • PHP实现时间日期友好显示实现代码

    PHP实现时间日期友好显示实现代码

    之前脚本之家小编也为大家分享过类似的时间日期显示代码,这里为大家分享的更加友好,大家根据说明调用即可
    2019-09-09
  • PHP中phar包的使用教程

    PHP中phar包的使用教程

    php中的phar类似于java中的打包文件jar,即将一个文件夹中的一类文件压缩。下面这篇文章主要给大家介绍了关于PHP中phar包使用的相关资料,文中介绍的还是相对比较详细的,需要的朋友们下面来一起看看吧。
    2017-06-06

最新评论