因为之前的工作需要每个月给客户生成pdf样式的账单,所以百度研究了一下,决定使用TCPDF工具。网上中文文档很少,这里记录一下自己写的部分代码。项目结构如下:(需要的联系博主)入口调用文件为pdf.php,代码如下:SetCreator('Helloweba');$pdf->SetAuthor('yueguangguang');*//*$pdf->SetTitle('欢迎来到shewentm.com!');$pdf->SetSubject('TCPDF教程');$pdf->SetKeywords('TCPDF,PDF,PHP');*///设置页眉页脚信息$pdf->SetHeaderData('',15,'','北京申文知识产权管理有限公司大航基业大厦1607A室电话:86-10-82685045传真:86-10-82684574北京市海淀区仁达北路33号10080,PRChina',array(0,0,0),array(0,64,128));$pdf->setPrintFooter(false);//$pdf->setFooterData('',15,'','叶角',array(0,0,0),array(0,64,128));//设置页眉和页脚字体$pdf->setHeaderFont(Array('cid0kr','','12'));$pdf->setFooterFont(Array('cid0kr','','8'));//设置默认等宽字体$pdf->SetDefaultMonospacedFont('courier');//设置间距$pdf->SetMargins(15,27,15);$pdf->SetHeaderMargin(5);$pdf->SetFooterMargin(10);//设置分页$pdf->SetAutoPageBreak(TRUE,25);//设置图像比例因子$pdf->setImageScale(1.25);//设置默认字体子集模式$pdf->setFontSubsetting(true);//设置字体$pdf->SetFont('cid0kr','',13);//$pdf->SetFont('cid0jp','',13);//$pdf->SetFont('时间','',13);$pdf->广告dPage();//设置左边距$pdf->SetLeftMargin(15);$date=date('Y-m-d');//生成账单日期$fill='????????????????????????????????????????????????????????????????????????????????????? ';$contents="
INVOICE
$fillNo.$OrderNo
$fill$date
$AddressInfo
Re:中国商标服务
总费用:¥$Total(请访问SHEWEN查看费用明细)
单位$CName:$Currency$Payables
总计:
$EngAmount
请支付15日内电汇至我方账户如下:
收款银行:HUAXIABANKH.O
SWIFTBIC:HXBKCNBJ030
收款人:北京舍文知识产权管理有限公司
A/CNo:10277000000660845";$pdf->Image('logo.jpg',0,170,200);//显示图片$pdf->writeHTML($contents);$name=$OrderNo.'.pdf';$path=$PDFpath.$name;//在浏览器中打开PDF$pdf->Output($path,'I');//生成PDF文件//$res=$pdf->Output($name,'S');//file_put_contents($path,$res);}需要注意的是,因为字体问题,有很多字体是不支持特殊符号的,博主尝试了很多字体文件,最终找到了支持特殊符号的droidsansfallback字体(不确定是否支持所有特殊符号)。