首页 编程语言 php

pHP将html生成pdf文件(TCPDF)

前段时间做打印合同时,要生成pdf文件,所以就看了一下,有很多种生成方式,我这里用的是TCPDF,想用可以自行下载一下 下面举例说明很简单

if($_REQUEST['act']=='pdf'){

//1引入文件

require( './TCPDF/tcpdf.php');

//2获取到页面内容

$html=file_get_contents("http://localhost/demo.html");

//3实例化类

$pdf = new TCPDF(PDF_PAGE_ORIENTATIN, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

//4设置自带的字体

$pdf->SetFont('stsongstdlight', '', 12);

// 5.添加个页面

$pdf->AddPage();

// 6.将HTML生成PDF

$pdf->writeHTML($html);

// 7.输出(默认直接在浏览器显示)

$pdf->Output();

//生成的pdf可能会有样式问题,自行调节一下即可。

}

//上面只是简单的介绍一下如何使用,如果有特殊需求在自行了解,仅供入门参考。

在网上找到一个很好用的函数,顺便分享给大家,合同中需要转大写中文,下面函数即可。

//自动转换数字金额为 大写中文金额

function toChineseNumber($money){

$money = round($money,2);

$cnynums = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");

$cnyunits = array("圆","角","分");

$cnygrees = array("拾","佰","仟","万","拾","佰","仟","亿");

list($int,$dec) = explode(".",$money,2);

$dec = array_filter(array($dec[1],$dec[0]));

$ret = array_merge($dec,array(implode("",cnyMapUnit(str_split($int),$cnygrees)),""));

$ret = implode("",array_reverse(cnyMapUnit($ret,$cnyunits)));

return str_replace(array_keys($cnynums),$cnynums,$ret);

}

function cnyMapUnit($list,$units) {

$ul=count($units);

$xs=array();

foreach (array_reverse($list) as $x) {

$l=count($xs);

if ($x!="0" || !($l%4))

$n=($x=='0'?'':$x).($units[($l-1)%$ul]);

else $n=is_numeric($xs[0][0])?$x:'';

array_unshift($xs,$n);

}

return $xs;

}


相关推荐