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

今天使用的类叫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的。
代码及类文件下载:点击下载

时间: 2024-10-28 11:27:48

手把手教你打印出PDF(关于fpdf的简单应用)_php技巧的相关文章

手把手教你写脚本引擎(五)——简单的高级语言(3,符号表)

符号表的结构的复杂度跟语言的语义规则的复杂度有关.对于C#来说,每一个符号都附带了一大堆信息,譬如位置啦,所在的namespace啦,类型啦什么的.对于JavaScript来说,符号表几乎是不需要的,因为东西都动态了,编译时几乎不检查内容.语义分析的输出是符号表,代码生成的输入是符号表和语法树.因此语法树除了放语法相关的内容,语义相关的内容最好放到符号表里面(譬如说表达式的类型啦,语句的scope结果啦).关于一个现实中的符号表组织可以看CMinus的语义分析结果. 首先我们要解决类型的表达问题

手把手教你写脚本引擎(四)——简单的高级语言(2,处理语法)

首先是词法分析器.我们仍然能够使用<构造可配置语法分析器>前半部分的方法人脑画出一张合适的DFA,这个时候我们可以手工来实现.用于词法分析器的DFA只有两种状态,一种是普通状态,另一种是终结状态.所以我们可以很机械地将DFA用C++写出来. 我们要为状态编号.编号要连续,而且要从0开始,这样的话C++的编译器一般都会为switch-case的代码生成一张表,用于快速跳转.然后用下面的方法. 1:将输入的指针Input复制出一个副本,叫Current:给出一个同类型的指针Last,将其赋值为NU

手把手教你写脚本引擎(三)——简单的高级语言(1,基本原理)

这一篇文章开始讲述如何实现一个高级语言的脚本引擎了.由于工程量较为庞大,因此将分开几篇文章讲.学习做脚本还是要从简单的东西做起的.上一篇文章介绍的命令脚本为实现高级语言的原理做了铺垫.首先,高级语言和低级语言脚本的架构是一致的.其次,为了具有较大的优化的空间,我们将把高级语言转换成低级语言,并配合一个低级语言的脚本引擎来实现高级语言的脚本引擎.当然,习惯上,在这种情况下我们把低级语言叫『指令』. 在这个阶段,我们实现的这门语言是非惰性计算的.弱类型的.仅支持基本类型.数组和函数指针的语言.作为扩

PHP中使用Imagick读取pdf并生成png缩略图实例_php技巧

pdf生成png首页缩略图 (服务器需要支持Imagick)  复制代码 代码如下:   /** * PDF2PNG    * @param $pdf  待处理的PDF文件 * @param $path 待保存的图片路径 * @param $page 待导出的页面 -1为全部 0为第一页 1为第二页 * @return      保存好的图片路径和文件名 */   function pdf2png($pdf,$path,$page=0)  {       if(!is_dir($path)) 

PHP教程之PHP中shell脚本的使用方法分享_php技巧

作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支. PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论.大多数情况下,我使用 exec() 命令和数据数组处理所有东西.或者对更简单的命令使用 shell_exec(),尤其是不关心结果时.如果仅需返回一个 PHP shell脚本,我就使用 passthru().通常,我

PHP简单读取PDF页数的实现方法_php技巧

本文实例讲述了PHP简单读取PDF页数的实现方法.分享给大家供大家参考,具体如下: 还是老外比较厚道, 在老外的网站找到了这样一个方法, 我写成了一个函数, 再将函数写进自己的LeeLib库里的PdfUtil类. 很简单的方式, 速度还不错. /** * 获取PDF的页数 */ function getPageTotal($path){ // 打开文件 if (!$fp = @fopen($path,"r")) { $error = "打开文件{$path}失败";

教你在header中隐藏php的版本信息_php技巧

前言 在php渲染的网页header信息中,会包含php的版本号信息,比如: X-Powered-by: php/5.3.3,这有些不安全,有些黑客可能采用扫描的方式,批量寻找低版本的php服务器,利用php漏洞(比如hash冲突)来攻击服务器. php.ini中有一个选项可以控制是否暴露这个信息,那就是: expose_php = On 默认值是On,改成Off之后,就不会显示php版本信息啦. 或者在php-fpm的pool配置文件中设置: php_admin_flag[expose_php

手把手教你编程打印出PDF

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

从投简历到谈薪酬,手把手教你应聘远程办公的工作

要是都能在家工作,谁还想去上班呀?远程办公虽好,竞争却也激烈.这篇原题为Tips for landing the job you want的文章发表于科技网站Code like a Girl,作者以个人经历告诉你远程求职从筛选简历到面试各阶段的注意事项,求职季马上到,小伙伴们可以收好啦. 远程工作很难找.我们团队的许多员工都可以远程办公.目前,我们的团队已扩充到85余人,并且长期欢迎来自以下国家和美国州的人们加入: 国家包括:阿根廷,巴西,保加利亚,加拿大,克罗地亚,埃及,英国,德国,危地马拉,