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."\n", 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不在是原內容了,可以根據自己的具體情況決定要不要修改。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM