zoukankan      html  css  js  c++  java
  • tcpdf函数

    //本文非原创,谢谢作者的分享
    1. $pdf->Cell(0, 0, 'TEST CELL STRETCH: no stretch', 1, 1, 'C', 0, '', 0);

    //原型:public function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='',$fill=false,$link='',$stretch=0,$ignore_min_height=false, $calign='T', $valign='M')第一个参数设定长度,为0时不设定;第二个参数设定高,为0时不设定;第三个参数为单元格内的content;第四个参数设定是否有边框,值为0或1,为0时无边框,为1时有边框;第五个参数暂时理解为是否有下一行;第六个参数设定单元格内容的对齐方式,值为R(靠右)、C(居中)或L(靠左);第七个参数理解为是否填充背景色,值为0或非0;第八个参数string设定链接,参数内容为文件路径或Internet地址;第九个参数设定表内内容的字符间距。 


    2. $pdf->setCellPaddings(1, 1, 1, 1);

    //设置表内内容距离边框的距离。分别左、上、右、下。 3. $pdf->setCellMargins(1, 1, 1, 1);//可以理解为设置单元格之间的距离,分别为左、上、右、下。 

    4. $pdf->SetFillColor(255, 255, 127);//设置单元格背景填充颜色。内容为rgb三颜色的值。 

    5. $pdf->MultiCell(55, 60, '[FIT CELL] '.$txt." ", 1, 'J', 1, 1, 125, 145, true, 0, false, true, 60, 'M', true);

    //原型:public function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false, $ln=1, $x='',$y='',$reseth=true,$stretch=0,$ishtml=false,$autopadding=true, $maxh=0, $valign='T', $fitcell=false),第一个参数设定长度,为0时不设定;第二个参数设定高,为0时不设定;第三个参数设定文本对齐方式,值为[LEFT](左对齐)、[RIGHT](右对齐)、[CENTER](居中)、[JUSTIFY](两端对齐)、[DEFAULT](散列对齐);第三个参数为单元格内的content;第四个参数设定是否有边框,值为0或1,为0时无边框,为1时有边框;第五个参数设定单元格内容的对齐方式,值为R(靠右)、C(居中)、L(靠左)、J(两端对齐),若为空则为默认的右对齐;第六个参数理解为是否填充背景色,值为0或非0;第七个参数理解为下一个单元格的相对位置,有3个取值,分别为0(同一行),1(下一行),2(对角线);第八个参数设定页面左边距;第九个参数设定页面上边距;第九个参数暂时理解不了,默认值为true即$retseth=true;第十个参数理解为设定字符间距;第十一个参数$ishtml=false(默认)/true; 第十二的参数$autopadding=true(默认)/false;第十二个参数设定文本的高度,一般设定为单元格的高度;第十三的参数设置文本的垂直位置,分别为T(top)、M(middle)、B(bottom),第十四个参数$fitcell可以理解为是根据单元格大小调整文本的大小使得文本全部显示在单元格内。 


    6. $pdf->Ln(4);//间隔4mm 

    7. $pdf->writeHTML($html, true, false, true, false, '');

    // 原型为writeHTML($html, $ln=true, $fill=false, $reseth=false, $cell=false, $align='')第一个参数为html格式的字符串;第三个参数设置是否填充背景色,值为false(不填充)或true(填充); 
    8. $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坐标,内容,是否右边框,与下一个单元格的相对为位置,是否填充背景色,是否重置高度,文本对齐方式,是否自动

    9.$y= $pdf->GetY();

    获得变量的y坐标,同理GetX()获得x坐标 

    10.$pdf->Write(5, $utf8text, '', 0, '', false, 0, false, false, 0);

    //原型:

    public function Write($h, $txt, $link='', $fill=false, $align='', $ln=false, $stretch=0, $firstline=false, $firstblock=false, $maxh=0, $wadj=0, $margin=''),

    第一个参数为高度,可简单理解为设置文本间距;

    第二个为写入的内容;

    第三个参数为设置链接,为空时无链接;

    第四个参数为是否填充背景色;

    第五个参数为文本对齐方;

    第六个参数为暂时没看到作用;

    第七个参数设置字符间距;

    第八个参数理解为是否只显示第一行;

    第九个参数可理解为是否只显示第一块;

    第十个参数设置最大文本块高度;

    第十一个参数暂时不解;

    第十二参数为单元格边距

     11.$pdf->setJPEGQuality(75);

    //设置图片质量,当值大于100或小于1时,自动更正为75(默认)。

     

    12. $pdf->Rect($x, $y, $w, $h, 'F', array(), array(128,255,255));

    //原型:

    public function Rect($x, $y, $w, $h, $style='', $border_style=array(), $fill_color=array())

    ,画一个方形,参数依次为:x坐标、y坐标、宽度、高度、演示、边框样式和填充背景色,类似的函数还有:

    public function Circle($x0, $y0, $r, $angstr=0, $angend=360, $style='', $line_style=array(), $fill_color=array(), $nc=2) 

     

    13. $pdf->Image('../images/image_demo.jpg', $x, $y, $w, $h, 'JPG', '', '', false, 300, '', false, false, 0, $fitbox, false, false); 

    //原型:

     

    public function Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $align='', $resize=false, $dpi=300, $palign='', $ismask=false, $imgmask=false, $border=0, $fitbox=false, $hidden=false, $fitonpage=false, $alt=false, $altimgs=array()),

    第一个参数是图片的来源,

    第二个到第六个参数分别设置图片的x坐标,y坐标,宽度,高度和格式;第七个参数设置链接,

    第八个参数设置图片的相对位置(同一坐标的2张图片),值分别为T(并排)、M(居中对角(第二个图形从第一个图形的半高处开始))、B(对角)、N(重叠)或不设置(重叠);

     

     14.$pdf->Image('@'.$imgdata);

    //'@'字符被用来表明后后面跟着的是图像数据流,而不是一个图像文件的名称

     

    15.$this->resetColumns();

    $this->setEqualColumns(3, 57);

     $this->selectColumn();
    //这三个函数设置等距离分栏,第一个函数重置;
    第二个函数原型为
    public function setEqualColumns($numcols=0, $width=0, $y='') 

    ,三个参数分别设置分栏数,每栏宽度和y坐标;第三个参数启用分栏;另外还有一个函数

    public function setColumnsArray($columns)

     16.$pdf->Text(5, 4, 'Line examples');

    //写入文本,三个参数为别为x坐标,y坐标,内容。

     

    17.

    $style = array('width'=> 0.5, 'cap' => 'butt', 'join' => 'miter', 'dash' => '10,20,5,10', 'phase' => 10, 'color' => array(255, 0, 0));

    $pdf->Line(5, 10, 80, 30, $style);

    //原型:

    public function Line($x1, $y1, $x2, $y2, $style=array()),

    前四个参数分别设置直线的两点;

    $style设置样式,

    第一个参数设置直线宽度,

     

     

    中文输出:

    在使用tcpdf时,中文输出时会出现乱码,后来通过网上查询和试验发现只有几个字体支持中文输出。下面是支持中文输出的几个字体,他的tcpdf版本是5_9_172 

    Tcpdf中可用于中文输出的字体:

     完美显示汉字: 

    1.cid0cs  

    2.droidsansfallback 

    3. stsongstdlight 

    语句:

    $pdf->SetFont('cid0cs ','',5); 

    只能部分显示汉字:

     1.hysmyeongjostdmedium 

    2.kozgopromedium 

    3.kozminproregul 

    4.msungstdlight 

     另外在pdf

    文档标题输出时,发现也不能识别中文,后来通过阅读代码发现,tcpdf.php中的Output($name=’doc.pdf’,$dest=’I’)函数中对$name即标题进行了正则替换,去掉了非字母、数字、下划线、点(.)、‘-’的内容,只要将其该正则加上正文正则即可输出中文,其中匹配的是gb2312中文字符,其语句为:

    $name = preg_replace('/[^'.chr(0xa1).'-'.chr(0xff).'A-Za-z0-9_.-]/','', $name);

    //GB2312汉字字母数字下划线正则表达式,这样的tcpdf不在是原内容了,可以根据自己的具体情况决定要不要修改。

     

  • 相关阅读:
    javaday19_List接口_Set接口
    01玩转数据结构_04_最基础的动态数据结构:链表
    10 拖拽的对话框_滚动条_放大镜_
    01玩转数据结构_03_栈和队列
    java小技巧
    01玩转数据结构_02_不要小瞧数组
    01玩转数据结构_01_课程介绍
    javaday18_ArrayList
    JZOJ.3777【NOI2015模拟8.17】最短路(shortest)
    JZOJ.5230【NOIP2017模拟8.5】队伍统计
  • 原文地址:https://www.cnblogs.com/zhangxiangdong/p/7736158.html
Copyright © 2011-2022 走看看