您好,登錄后才能下訂單哦!
使用TCPDF首先從TCPDF官網(wǎng)獲取最新版本:http://www.tcpdf.org。官網(wǎng)提供了幾十個示例以及說明文檔,下載解壓后一定要注意文件路徑,如何使用TCPDF,可以從以下5個步驟完成:
1、require_once導(dǎo)入tcpdf.php文件及相關(guān)配置信息;
2、實例化TCPDF;
3、設(shè)置PDF文檔的格式,包括文檔信息、頁眉、頁尾、字體、外間距、圖片邊框、分頁等;
4、導(dǎo)入PDF文檔的內(nèi)容,可以是單行或多行簡單字符串,也可以HTML格式的字符串等;
5、輸出PDF文檔。
public function pdfRender($html, $title = '合同文本',$fileName)
{
// require_once(dirname(__FILE__).'/tcpdf_autoconfig.php');
require_once('./tcpdf/tcpdf.php');
/*新建一個pdf文件:
Orientation:orientation屬性用來設(shè)置文檔打印格式是“Portrait”還是“Landscape”。 Landscape為橫式打印,Portrait為縱向打印
Unit:設(shè)置頁面的單位。pt:點為單位,mm:毫米為單位,cm:厘米為單位,in:英尺為單位
Format:設(shè)置打印格式,一般設(shè)置為A4
Unicode:為true,輸入的文本為Unicode字符文本
Encoding:設(shè)置編碼格式,默認為utf-8
Diskcache:為true,通過使用文件系統(tǒng)的臨時緩存數(shù)據(jù)減少RAM的內(nèi)存使用。 */
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT,true, 'UTF-8', false);
//設(shè)置文件信息
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor("jmcx");
$pdf->SetTitle($title);
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
//刪除預(yù)定義的打印 頁眉/頁尾
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
//設(shè)置默認等寬字體
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
/*設(shè)置頁面邊幅:
Left:左邊幅
Top:頂部邊幅
Right:右邊幅
Keepmargins:為true時,覆蓋默認的PDF邊幅。 */
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP,PDF_MARGIN_RIGHT);
/*設(shè)置單元格的邊距:
Left:左邊距
Top:頂部邊距
Right:右邊距
Bottom:底部邊距。*/
$pdf->setCellPaddings(0, 0, 0, 0);
//GetX獲得當(dāng)前的橫坐標(biāo),GetY獲得當(dāng)前的縱坐標(biāo)。
// $pdf->GetX();
// $pdf->GetY();
/*移動坐標(biāo)。SetX移動橫坐標(biāo)。 SetY,橫坐標(biāo)自動移動到左邊距的距離,然后移動縱坐標(biāo)。SetXY,移動橫坐標(biāo)跟縱坐標(biāo):
X:橫坐標(biāo),可設(shè)為$pdf->GetX()+數(shù)字
Y:縱坐標(biāo),可設(shè)為$pdf->GetY()+數(shù)字
Rtloff:true,左上角會一直作為坐標(biāo)軸的原點
Resetx:true,重設(shè)橫坐標(biāo)。 */
// $pdf->SetX($x, $rtloff=false);
// $pdf->SetY($y, $resetx=true, $rtloff=false);
// $pdf->SetXY($x, $y, $rtloff=false)
/*設(shè)置線條的風(fēng)格:
Width:設(shè)置線條粗細
Cap:設(shè)置線條的兩端形狀
Join:設(shè)置線條連接的形狀
Dash:設(shè)置虛線模式
Color:設(shè)置線條顏色,一般設(shè)置為黑色,如:array(0, 0, 0)。*/
$pdf->SetLineStyle(array('width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => '0', 'color' => array(0, 0,0)));
/*畫一條線:
x1:線條起點x坐標(biāo)
y1:線條起點y坐標(biāo)
x2:線條終點x坐標(biāo)
y2:線條終點y坐標(biāo)
style:SetLineStyle的效果一樣
*/
// $pdf->Line($x1, $y1, $x2, $y2, $style=array());
/*執(zhí)行一個換行符,橫坐標(biāo)自動移動到左邊距的距離,縱坐標(biāo)換到下一行:
H:設(shè)置下行跟上一行的距離,默認的話,高度為最后一個單元格的高度
Cell:true,添加左或右或上的間距到橫坐標(biāo)。 */
// $pdf->Ln($h='', $cell=false);
//設(shè)置自動分頁符
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//設(shè)置圖像比例因子
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//設(shè)置一些語言相關(guān)的字符串
// $pdf->setLanguageArray("xx");
/*設(shè)置字體:
字體類型(如helvetica(Helvetica)黑體,times (Times-Roman)羅馬字體)、風(fēng)格(B粗體,I斜體,underline下劃線等)、字體大小 */
$pdf->SetFont('stsongstdlight', '', 15); //設(shè)置中文顯示
/*增加一個頁面:
Orientation:orientation屬性用來設(shè)置文檔打印格式。 Landscape為橫式打印,Portrait為縱向打印。
Format:設(shè)置此頁面的打印格式。
Keepmargins:true,以當(dāng)前的邊幅代替默認邊幅來重寫頁面邊幅。
Tocpage:true,所添加的頁面將被用來顯示內(nèi)容表。*/
$pdf->AddPage();
/*設(shè)置單行單元格:
W:設(shè)置單元格的寬
H:設(shè)置單元格的高
Text:單元格文本
Border:設(shè)置單元格的邊框。0,無邊框,1,一個框,L,左邊框,R,右邊框,B, 底邊框,T,頂邊框,LTRB指四個邊都顯示
Ln:0,單元格后的內(nèi)容插到表格右邊或左邊,1,單元格的下一行,2,在單元格下面
Align:文本位置。L,左對齊,R,右對齊,C,居中,J,自動對齊
Fill:填充。false,單元格的背景為透明,true,單元格必需被填充
Link:設(shè)置單元格文本的鏈接。*/
$pdf->Cell(0, 0, $title, 0, 1, 'C');
/*設(shè)置多行單元格。注意跟Cell的參數(shù)位置有些差別,Cell是用來輸出單行文本的,MultiCell就能用來輸出多行文本
W:設(shè)置多行單元格的寬
H: 設(shè)置多行單元格的單行的高
Text:文本
Border:邊框
Align:文本位置
Fill:填充
Ln:0,單元格后的內(nèi)容插到表格右邊或左邊,1,單元格的下一行,2,在單元格下面
X:設(shè)置多行單元格的行坐標(biāo)
Y:設(shè)置多行單元格的縱坐標(biāo)
Reseth:true,重新設(shè)置最后一行的高度
Stretch:調(diào)整文本寬度適應(yīng)單元格的寬度
Ishtml:true,可以輸出html文本,有時很有用的
Autopadding:true,自動調(diào)整文本與單元格之間的距離
Maxh:設(shè)置單元格最大的高度
Valign:設(shè)置文本在縱坐標(biāo)中的位置,T,偏上,M,居中,B,偏下
Fillcell:自動調(diào)整文本字體大小來適應(yīng)單元格大小。 */
// $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設(shè)置單元格行高,可以引用此函數(shù)調(diào)整行與行的間距。SetLineWidth設(shè)置線條寬度。
// $pdf->setCellHeightRatio($h);
// $pdf->SetLineWidth($width);
/*在PDF中,插入圖片,參數(shù)列表如下;
File:圖片路徑。
X:左上角或右上角的橫坐標(biāo)。
Y:左上角或右上角的縱坐標(biāo)。
W:設(shè)置圖片的寬度,為空或為0,則自動計算。
H:設(shè)置圖片的高度,為空或為0,則自動計算。
Type:圖片的格式,支持JPGE,PNG,BMP,GIF等,如果沒有值,則從文件的擴展名中自動找到文件的格式。
Link:圖片鏈接。
Align:圖片位置。
Resize:true,調(diào)整圖片的大小來適應(yīng)寬跟高;false,不調(diào)整圖片大小;2,強制調(diào)整。
Dpi:以多少點每英寸來調(diào)整圖片大小。
Palign:圖片位置,L,偏左,C,居中,R,偏右
Imgmask:true,返回圖像對象。
Border:邊框。
Fitbox:調(diào)整適合大小。
Hidden:true,隱藏圖片。
Fitonpage:如果為true,圖像調(diào)整為不超過頁面尺寸。 */
// $pdf->Image('../img/test.png');
/*輸出HTML文本:
Html:html文本
Ln:true,在文本的下一行插入新行
Fill:填充。false,單元格的背景為透明,true,單元格必需被填充
Reseth:true,重新設(shè)置最后一行的高度
Cell:true,就調(diào)整間距為當(dāng)前的間距
Align:調(diào)整文本位置。 */
$pdf->writeHTML($html);
/*用此函數(shù)可以設(shè)置可選邊框,背景顏色和HTML文本字符串來輸出單元格(矩形區(qū)域)
W:設(shè)置單元格寬度。0,伸展到右邊幅的距離
H:設(shè)置單元格最小的高度
X:以左上角為原點的橫坐標(biāo)
Y:以左上角為原點的縱坐標(biāo)
Html:html文本
Border:邊框
Ln:0,單元格后的內(nèi)容插到表格右邊或左邊,1,單元格的下一行,2,在單元格下面
Fill:填充
Reseth:true,重新設(shè)置最后一行的高度
Align:文本的位置
Autopadding:true,自動調(diào)整文本到邊框的距離。 */
$pdf->writeHTMLCell();
/*輸入PDF文檔 :
Name:PDF保存的名字
Dest:PDF輸出的方式。I,默認值,在瀏覽器中打開;D,點擊下載按鈕, PDF文件會被下載下來;F,文件會被保存在服務(wù)器中;S,PDF會以字符串形式輸出;E:PDF以郵件的附件輸出。 */
$pdf->Image('./tcpdf/examples/p_w_picpaths/woyouyou_logo.png', 20, 30, 50, '', '', 'http://www.wuushop.com/', '', false, 300); //加公司印章或添加圖片
$pdf->Output($fileName.".pdf", "F");
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。