zoukankan      html  css  js  c++  java
  • PHP生成PDF文档

    首先下载一份FPDF文件

    <?php

    //define('FPDF_FONTPATH','font/timesi'); //定义font文件夹所在路径

    require_once('FPDF/fpdf.php'); //包含fpdf类库文件

    $pdf=new FPDF(); //创建新的FPDF对象,竖向放纸,单位为毫米,纸张大小A4

    $pdf->Open(); //开始创建PDF

    $pdf->AddPage(); //增加一页

    $pdf->SetFont('Arial','',14); //设置字体样式

    $header=array('Name','Age','Sex','Salary'); //设置表头

    $data=array(); //设置表体

    $data[0] = array('Simon','24','Male','5,000.00');

    $data[1] = array('Elaine','25','Female','6,000.00');

    $data[2] = array('Susan','25','Female','7,000.00');

    $data[3] = array('David','26','Male','8,000.00');

    $width=array(40,40,40,40); //设置每列宽度

    for($i=0;$i<count($header);$i++) //循环输出表头

        $pdf->Cell($width[$i],6,$header[$i],1);

    $pdf->Ln();

    foreach($data as $row) //循环输出表体

    {

        $pdf->Cell($width[0],6,$row[0],1);

        $pdf->Cell($width[1],6,$row[1],1);

        $pdf->Cell($width[2],6,$row[2],1);

        $pdf->Cell($width[3],6,$row[3],1);

        $pdf->Ln();

    }

    $pdf->Output(); //输出PDF到浏览器

    ?>

    下面是借鉴的七月儿719的新浪博客:地址是:http://blog.sina.com.cn/s/blog_bc996e2f0101eguz.html

    FPDF是一个PHP类,它允许我们纯粹地借助于PHP生成PDF文件,也就是说,无需使用PDFlib库文件。FPDF中的F意味着免费:你可以将它用于任何用途,也可以修改它来适应你的需求。
    FPDF可以支持汉语等东方语系,但是需要对相应字体进行配置。FPDF中的几个基本的操作是Open函数、AddPage函数、SetFont函数、Cell函数和Output函数,这几个基本函数就可以实现简单的PDF输出。

    有一个需要配置的地方是解压缩后文件中的font文件夹。一般需要将该文件夹移动到用户站点与要调用FPDF类库代码的同一目录下,因为调用类库的时候要首先指明font文件夹所在位置。

    $pdf = new FPDF([string page-orientation [, string measure-unit [, string page-format]]]) 

    //创建新的FPDF对象,默认竖向放纸,单位为毫米,纸张大小A4 ('P', 'mm', 'A4');
    其中,page-orientation用于表示创建的PDF文档是横向还是竖向的。page-orientation可用的值有以下两种。
    P:表示放纸方向为竖向。(默认值) 

    L:表示放纸方向为横向。 
    measure-unit用于表示文档中位置的计量单元。

    measure-unit可用的值有以下四种。 pt:点;mm:毫米(默认值);cm:厘米;in:英寸 
    page-format用于表示创建的PDF文档的纸张类型。

    page-format可用的值可以是用于表示纸张类型的字符串,例如“A4”“A5”“Letter”等。默认A4

    Open函数用于标示开始创建PDF文档,

    语法格式如下:$pdf->Open() ;

    AddPage函数用于为PDF文档添加一个新页,

    语法格式如下: $pdf ->AddPage([string page-orientation]) 

    其中,page-orientation用于表示创建的PDF文档是横向还是竖向的。

    SetFont函数用于设置当前使用的字体

    语法格式如下: $pdf->SetFont(string font [, string style [, float size]])); 

    其中,font用于表示字体。style用于表示样式,style可用的值可以是以下三种。如果没有指定style的值,则默认为普通的形式。 

     B:粗体 ; I:斜体 ; U:下滑线 

    size用于表示字体的大小。如果不指定则取默认值,为12pt。

    Cell函数用于为当前PDF文档增加一个单元格,常用的语法格式如下所示。 

    $pdf->Cell(float width, float hight, string str, int bolder) 

    其中,width表示增加的单元格宽度,hight表示增加的单元格高度,str表示要放置在单元格中的文本字符串,bolder表示单元格的边框。需要注意的是如果将width或者height设置成0,并不是表示该单元格不存在,而是表示没有设置。 

    Output函数用于为输出PDF文档,语法格式如下所示。 

    $pdf->Output([string filename [, bool download]]) 

    其中,filename表示要存储的文件名。如果不指定文件名,则浏览时会在IE中直接打开。

    实例 :

       //要用php产生utf-8编码的中文pdf文件,需要加载chinese-unicode.php
       require("fpdf/chinese-unicode.php");//
       $pdf=''; 
       $pdf=new PDF_Unicode();

       //创建新的FPDF对象,默认竖向放纸,单位为毫米,纸张大小A4 ('P', 'mm', 'A4');
       $pdf->Open(); //开始创建PDF
       $pdf->AddUniGBhwFont('uni'); //uni
       //使用AddUniGBhwFont()而不是使用AddUniCNShwFont(),
       //因为简体字型里包含了繁体字型,用AddUniGBhwFont()产生繁体中文内容的PDF文件也不会有问题。
       //如果用AddUniCNShwFont()产生简体中文内容的PDF文件,
       //虽然阅读器安装了简体字型,但是阅读器会把它当成繁体文件,
       //而使用繁体字型显示,造成一些简体字显示不出来。
       $pdf->SetFont('uni','B',14);//设置字体样式,

       $pdf->SetMargins(38,57);//设置左上的边距  
       $pdf->AddPage(); //增加一页
         //作品名称
       $pdf->SetTextColor(25,34,64);//颜色
       $pdf->Cell(35,20,"名称",1,0,'C');
       $pdf->Cell(103.2,10,"测试1",1,2);
       $pdf->Cell(103.2,10,"测试1",1,1);

       $pdf->Output("test.pdf","F");

    注:cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='')中的变量的第五项$ln就是换行变量,
    第一项宽度;第二项高度;第三项文字;第四项边框;第五项换行;第六项位置。。。

    0代表不换行,1代表换行

    http://www.ink520.com/
  • 相关阅读:
    机器学习算法及应用领域相关的中国大牛[转]
    Awesome (and Free) Data Science Books[转]
    机器学习算法之旅【翻译】【转】
    const 引用的分析
    c++ 引用的分析
    读取BMP图像size的时候与操作和左移的原因
    java的equal和==问题
    mac10.9下安装Android
    c++设计模式系列----builder模式
    c++设计模式系列----单例模式(Singleton模式
  • 原文地址:https://www.cnblogs.com/myphper/p/3227124.html
Copyright © 2011-2022 走看看