php fpdf 生成表格总结

转载注明 出处!

 

一直都在了解FPDF 生成PDF,和一些基于FPDF的生成PDF的类,没有一个适合的报表方案.

将网页生成PDF是一种好的方法```但得控制表格````种种原因,触使我自己写一个方法来生成PDF

报表.

 

须下载fpdf  和fpdf 中文化类.

这过程中,得处理中文乱码,....

效果如下:

 

 

原码如下:

 

 

 

<?
require('chinese.php');
$pdf=new PDF_Chinese();
$pdf->AddGBFont('simsun','宋体');
$pdf->Open();
$pdf->AddPage();

$pdf->SetAutoPageBreak(true);
$pdf->SetFont('simsun','',10);


$conn=mysql_connect('localhost','root','');

mysql_select_db('j',$conn);

mysql_query("SET NAMES 'gb2312'");

$sql=mysql_query("select * from tssb limit 0,565");

$pdf->SetY(20);

while(($array =mysql_fetch_array($sql)) != false)
{

$pdf->SetX(15);
$Mywidth=array(15,20,20,40,20,20,20,20);
$Mytable=array($array["ls"],$array["cd"],$array["in"],$array["cm"],$array["h"],$array["c"],$array["n"],$array["d"]);
$pdf->Row($Mywidth,$Mytable,10);
$pdf->ln();
}

 


$pdf->Output();
?>

 

 

新增函数:

 

class PDF_Chinese extends FPDF
{


//表格输出
function Row($Arr,$Row,$MyHeight){
$MyTable=$Row;
//SetWidths($arr);
$Width=$Arr;
for($i=0;$i<count($Width);$i++){                            //循环输出表头
// $this->SetX(20);
 $this->Cell($Width[$i],$MyHeight,$MyTable[$i],1,0);
// $this->Ln();
}
}

这样一个表格就完整输出啦``

 

 

附中文类:

 

<?php
require('fpdf.php');

$Big5_widths=array(' '=>250,'!'=>250,'"'=>408,'#'=>668,'$'=>490,'%'=>875,'&'=>698,'/''=>250,
 '('=>240,')'=>240,'*'=>417,'+'=>667,','=>250,'-'=>313,'.'=>250,'/'=>520,'0'=>500,'1'=>500,
 '2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>250,';'=>250,
 '<'=>667,'='=>667,'>'=>667,'?'=>396,'@'=>921,'A'=>677,'B'=>615,'C'=>719,'D'=>760,'E'=>625,
 'F'=>552,'G'=>771,'H'=>802,'I'=>354,'J'=>354,'K'=>781,'L'=>604,'M'=>927,'N'=>750,'O'=>823,
 'P'=>563,'Q'=>823,'R'=>729,'S'=>542,'T'=>698,'U'=>771,'V'=>729,'W'=>948,'X'=>771,'Y'=>677,
 'Z'=>635,'['=>344,'//'=>520,']'=>344,'^'=>469,'_'=>500,'`'=>250,'a'=>469,'b'=>521,'c'=>427,
 'd'=>521,'e'=>438,'f'=>271,'g'=>469,'h'=>531,'i'=>250,'j'=>250,'k'=>458,'l'=>240,'m'=>802,
 'n'=>531,'o'=>500,'p'=>521,'q'=>521,'r'=>365,'s'=>333,'t'=>292,'u'=>521,'v'=>458,'w'=>677,
 'x'=>479,'y'=>458,'z'=>427,'{'=>480,'|'=>496,'}'=>480,'~'=>667);

$GB_widths=array(' '=&g

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值