php使用TCPDF生成PDF檔案教程
functioncreatePdfFile($frontData)
{
/*新建一個pdf檔案:
Orientation:orientation屬性用來設定文件列印格式是“Portrait”還是“Landscape”。 Landscape為橫式列印,Portrait為縱向列印
Unit:設定頁面的單位。pt:點為單位,mm:毫米為單位,cm:釐米為單位,in:英尺為單位
Format:設定列印格式,一般設定為A4
Unicode:為true,輸入的文字為Unicode字元文字
Encoding:設定編碼格式,預設為utf-8
Diskcache:為true,通過使用檔案系統的臨時快取資料減少RAM的記憶體使用。 */
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT,true, 'UTF-8', false);
//設定檔案資訊
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor("jmcx");
$pdf->SetTitle("pdf test");
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
//刪除預定義的列印 頁首/頁尾
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
//設定預設等寬字型
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
/*設定頁面邊幅:
Left:左邊幅
Top:頂部邊幅
Right:右邊幅
Keepmargins:為true時,覆蓋預設的PDF邊幅。 */
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP,PDF_MARGIN_RIGHT);
/*設定單元格的邊距:
Left:左邊距
Top:頂部邊距
Right:右邊距
Bottom:底部邊距。*/
$pdf->setCellPaddings(0, 0, 0, 0);
//GetX獲得當前的橫座標,GetY獲得當前的縱座標。
// $pdf->GetX();
// $pdf->GetY();
/*移動座標。SetX移動橫座標。 SetY,橫座標自動移動到左邊距的距離,然後移動縱座標。SetXY,移動橫座標跟縱座標:
X:橫座標,可設為$pdf->GetX()+數字
Y:縱座標,可設為$pdf->GetY()+數字
Rtloff:true,左上角會一直作為座標軸的原點
Resetx:true,重設橫座標。 */
// $pdf->SetX($x, $rtloff=false);
// $pdf->SetY($y, $resetx=true, $rtloff=false);
// $pdf->SetXY($x, $y, $rtloff=false)
/*設定線條的風格:
Width:設定線條粗細
Cap:設定線條的兩端形狀
Join:設定線條連線的形狀
Dash:設定虛線模式
Color:設定線條顏色,一般設定為黑色,如:array(0, 0, 0)。*/
$pdf->SetLineStyle(array('width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => '0', 'color' => array(0, 0,0)));
/*畫一條線:
x1:線條起點x座標
y1:線條起點y座標
x2:線條終點x座標
y2:線條終點y座標
style:SetLineStyle的效果一樣
*/
// $pdf->Line($x1, $y1, $x2, $y2, $style=array());
/*執行一個換行符,橫座標自動移動到左邊距的距離,縱座標換到下一行:
H:設定下行跟上一行的距離,預設的話,高度為最後一個單元格的高度
Cell:true,新增左或右或上的間距到橫座標。 */
// $pdf->Ln($h='', $cell=false);
//設定自動分頁符
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//設定影象比例因子
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//設定一些語言相關的字串
// $pdf->setLanguageArray("xx");
/*設定字型:
字型型別(如helvetica(Helvetica)黑體,times (Times-Roman)羅馬字型)、風格(B粗體,I斜體,underline下劃線等)、字型大小 */
$pdf->SetFont('times', 'I', 20);
/*增加一個頁面:
Orientation:orientation屬性用來設定文件列印格式。 Landscape為橫式列印,Portrait為縱向列印。
Format:設定此頁面的列印格式。
Keepmargins:true,以當前的邊幅代替預設邊幅來重寫頁面邊幅。
Tocpage:true,所新增的頁面將被用來顯示內容表。*/
$pdf->AddPage();
/*設定單行單元格:
W:設定單元格的寬
H:設定單元格的高
Text:單元格文字
Border:設定單元格的邊框。0,無邊框,1,一個框,L,左邊框,R,右邊框,B, 底邊框,T,頂邊框,LTRB指四個邊都顯示
Ln:0,單元格後的內容插到表格右邊或左邊,1,單元格的下一行,2,在單元格下面
Align:文字位置。L,左對齊,R,右對齊,C,居中,J,自動對齊
Fill:填充。false,單元格的背景為透明,true,單元格必需被填充
Link:設定單元格文字的連結。*/
$pdf->Cell(0, 10, 'test', 1, 1, 'C');
/*設定多行單元格。注意跟Cell的引數位置有些差別,Cell是用來輸出單行文字的,MultiCell就能用來輸出多行文字
W:設定多行單元格的寬
H: 設定多行單元格的單行的高
Text:文字
Border:邊框
Align:文字位置
Fill:填充
Ln:0,單元格後的內容插到表格右邊或左邊,1,單元格的下一行,2,在單元格下面
X:設定多行單元格的行座標
Y:設定多行單元格的縱座標
Reseth:true,重新設定最後一行的高度
Stretch:調整文字寬度適應單元格的寬度
Ishtml:true,可以輸出html文字,有時很有用的
Autopadding:true,自動調整文字與單元格之間的距離
Maxh:設定單元格最大的高度
Valign:設定文字在縱座標中的位置,T,偏上,M,居中,B,偏下
Fillcell:自動調整文字字型大小來適應單元格大小。 */
// $pdf->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);
// setCellHeightRatio設定單元格行高,可以引用此函式調整行與行的間距。SetLineWidth設定線條寬度。
// $pdf->setCellHeightRatio($h);
// $pdf->SetLineWidth($width);
/*在PDF中,插入圖片,引數列表如下;
File:圖片路徑。
X:左上角或右上角的橫座標。
Y:左上角或右上角的縱座標。
W:設定圖片的寬度,為空或為0,則自動計算。
H:設定圖片的高度,為空或為0,則自動計算。
Type:圖片的格式,支援JPGE,PNG,BMP,GIF等,如果沒有值,則從檔案的副檔名中自動找到檔案的格式。
Link:圖片連結。
Align:圖片位置。
Resize:true,調整圖片的大小來適應寬跟高;false,不調整圖片大小;2,強制調整。
Dpi:以多少點每英寸來調整圖片大小。
Palign:圖片位置,L,偏左,C,居中,R,偏右
Imgmask:true,返回影象物件。
Border:邊框。
Fitbox:調整適合大小。
Hidden:true,隱藏圖片。
Fitonpage:如果為true,影象調整為不超過頁面尺寸。 */
$pdf->Image('../img/test.png');
/*輸出HTML文字:
Html:html文字
Ln:true,在文字的下一行插入新行
Fill:填充。false,單元格的背景為透明,true,單元格必需被填充
Reseth:true,重新設定最後一行的高度
Cell:true,就調整間距為當前的間距
Align:調整文字位置。 */
$pdf->writeHTML("<div><label>hah<strong>aha</strong></label><br/></div>");
/*用此函式可以設定可選邊框,背景顏色和HTML文字字串來輸出單元格(矩形區域)
W:設定單元格寬度。0,伸展到右邊幅的距離
H:設定單元格最小的高度
X:以左上角為原點的橫座標
Y:以左上角為原點的縱座標
Html:html文字
Border:邊框
Ln:0,單元格後的內容插到表格右邊或左邊,1,單元格的下一行,2,在單元格下面
Fill:填充
Reseth:true,重新設定最後一行的高度
Align:文字的位置
Autopadding:true,自動調整文字到邊框的距離。 */
$pdf->writeHTMLCell();
/*輸入PDF文件 :
Name:PDF儲存的名字
Dest:PDF輸出的方式。I,預設值,在瀏覽器中開啟;D,點選下載按鈕, PDF檔案會被下載下來;F,檔案會被儲存在伺服器中;S,PDF會以字串形式輸出;E:PDF以郵件的附件輸出。 */
return $pdf->Output("test001.pdf", "F");
}