博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP生成PDF文档
阅读量:5281 次
发布时间:2019-06-14

本文共 3246 字,大约阅读时间需要 10 分钟。

首先下载一份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代表换行

转载于:https://www.cnblogs.com/myphper/p/3227124.html

你可能感兴趣的文章
百度地图Api进阶教程-地图鼠标左右键操作实例和鼠标样式6.html
查看>>
游标使用
查看>>
LLBL Gen Pro 设计器使用指南
查看>>
SetCapture() & ReleaseCapture() 捕获窗口外的【松开左键事件】: WM_LBUTTONUP
查看>>
Android 设置界面的圆角选项
查看>>
百度地图api服务端根据经纬度得到地址
查看>>
根据xml生成相应的对象类
查看>>
Android StageFrightMediaScanner源码解析
查看>>
springBoot 项目 jar/war打包 并运行
查看>>
HDU 1501 Zipper
查看>>
打包java程序生成exe
查看>>
八叉树
查看>>
poj 1129 搜索
查看>>
Git 远程仓库
查看>>
HttpClient的巨坑
查看>>
关于静态文本框透明度的问题
查看>>
海量数据、高并发的优化方案
查看>>
javascript的发展及个人笔记
查看>>
全选,反全选,反选,获取选中的值,根据子选择控制全选按钮
查看>>
梦断代码读后感01
查看>>