TCPDF使用说明
2017-07-06 14:45
337 查看
最近项目中使用报表,需要用到php来生成pdf文件,采用目前较流行的tcpdf插件,评论区有如何解决乱码的答案,如有问题,希望有机会评论交流。
调用tcpdf文件
页面方向(P =肖像,L =景观)、测量(mm)、页面格式
设置pdf背景图片
设置表内内容距离边框的距离。分别左、上、右、下。
此方法渲染html边框顶格
调用tcpdf文件
require_once('tcpdf.php');设置时区,否则会导致报错
date_default_timezone_set('Asia/Shanghai');实例化tcpdf
页面方向(P =肖像,L =景观)、测量(mm)、页面格式
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);设置文档信息
$pdf->SetCreator('Helloweba'); $pdf->SetAuthor('yueguangguang'); $pdf->SetTitle('Welcome to helloweba.com!'); $pdf->SetSubject('TCPDF Tutorial'); $pdf->SetKeywords('TCPDF, PDF, PHP');扩展,自定义页眉页脚
设置pdf背景图片
$image_file = K_PATH_IMAGES.'bkground.png'; $this->Image($image_file, 0, 0, 210, 15, '', '', '', false, 300, '', false, false, 0);设置背景颜色(需要注意,只能设置一个)
$this->Rect(0,0,210,297,'F','',$fill_color = array(255, 255, 255));设置字体(droidsansfallback该字体为导入字体,支持中文)
$this->SetFont('droidsansfallback', 'B', 13);设置文本颜色
$this->SetTextColor(171,171,171);设置表内内容距离边框的距离。分别左、上、右、下。
$this->setCellPaddings(15, 10, 5, 0); $this->setCellMargins(0, 1, 0, 0);// $this->Cell(180, 15, '测试', 0, true, 'L', 0, '', 0, true, 'M', 'M'); $this->SetFont('droidsansfallback', 'B', 8);注意如想在不同位置设置文字,可多次使用setCellPaddings()不会产生冲突。
设置表内内容距离边框的距离。分别左、上、右、下。
$this->setCellPaddings(13, 10, 5, 2);设置是否打印页眉页脚,即去掉默认横线
$pdf->setPrintHeader(true); //设置打印页眉 $pdf->setPrintFooter(false); //设置打印页脚设置默认页眉页脚相关参数
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 061', PDF_HEADER_STRING); 设置页眉页脚字体 $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); set default monospaced font $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);设置PDF页面边距(margin)
$pdf->SetMargins(1, 15, 1);//左、右、上 $pdf->SetAutoPageBreak(TRUE, 15);//下设置图片缩放比例
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);添加一个页面包含结束符
$pdf->AddPage(); $pdf->lastPage();设置行距
$pdf->Ln(4);如何嵌套html的三种方式
此方法渲染html边框顶格
$pdf->writeHTML($html, true, false, true, false, '');
原型为 writeHTML($html, $ln=true, $fill=false, $reseth=false, $cell=false, $align='')
第一个参数为html格式的字符串;第三个参数设置是否填充背景色,值为false(不填充)或true(填充);此方法渲染html会产生一定间距
$pdf->writeHTMLCell(80, '', '', $y, $left_column, 1, 0, 1, true, 'J', true);
原型:writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=false, $reseth=true, $align='', $autopadding=true),
参数可对照MultiCell(),分别为宽度,高 度,x坐标,y坐标,内容,是否右边框,与下一个单元格的相对为位置,是否填充背景色,是否重置高度,文本对齐方式,是否自动…此方法渲染html会居中效果,注意将$ishtml设置为true
$pdf->MultiCell(0, 5, $html, $border=0, $align='C',$fill=false, $ln=1, $x='', $y='', $reseth=true, $stretch=0,$ishtml=true,$autopadding=true);设置获取xy坐标
$pdf->setY()/getY()设置直线,注意第二个参数和第四个参数保持一致时才为水平直线
$linestyle = array('width' => 0.1, 'cap' => 'butt', 'join' => 'miter', 'dash' => '', 'phase' => 0, 'color' => array(143,195,226)); $pdf->Line(6, 32, 200, 32, $linestyle);设置左边距、右边距
$pdf->SetLeftMargin(0); $pdf->SetRightMargin(0);输出pdf(I为在浏览器上输出,D为下载、F为保存)
$pdf->Output('report_new.pdf', 'I');
相关文章推荐
- 我的算法头文件使用说明
- IP 伪装简易使用说明
- 磁碟空间限制简易使用说明
- Websharp使用说明(5)
- commons-logging与log4j的结合使用说明与示例
- Jam 使用说明
- JDK1.4的java.util.Logging包的使用说明与示例
- Websharp使用说明(7)
- [技术]window.open的使用方法以及参数说明
- 通过实例说明J2ME通用联网框架的使用
- NetXray使用说明之(6)----捕捉oicq message报文
- Linux平台C++类库tinycxx使用说明
- Websharp使用说明(6)
- Websharp使用说明(3)
- smtp使用说明
- DebugTrace 使用说明
- True DBREPORT 6.0的使用说明
- Log4j日志管理系统简单使用说明
- Websharp使用说明(8)
- TeamSource使用说明