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/
原文地址:https://www.cnblogs.com/myphper/p/3227124.html