如何用PHP導(dǎo)出PDF
準(zhǔn)備工作
首先查詢(xún)了相關(guān)的類(lèi)庫(kù),有FPDF,zendPDF,TcPDF等等。首先看了下先選擇了FPDF,可以說(shuō)除了中文字符以外沒(méi)有什么問(wèn)題,中文亂碼而且看了下最新版本沒(méi)有很好的解決方案,所以只能放棄。后來(lái)就專(zhuān)門(mén)找支持中文的發(fā)現(xiàn)了TcPDF,開(kāi)始也是中文字體支持不是很好,但是發(fā)現(xiàn)了有人做了中文的語(yǔ)言包才使得TcPDF更加完美起來(lái)。
簡(jiǎn)介
TCPDF 是一個(gè)流行的用于生成 PDF 文檔的 PHP 類(lèi)。TCPDF是當(dāng)前唯一完整支持 UTF-8 Unicode 以及從右至左書(shū)寫(xiě)的語(yǔ)言包括雙向文稿的 PHP 庫(kù)。
TCPDF說(shuō)明文檔
一、首先調(diào)用TCPDF文件
require_once('tcpdf.php');
二、實(shí)例化TCPDF類(lèi) 頁(yè)面方向(P =肖像,L =景觀)、測(cè)量(mm)、頁(yè)面格式
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
代碼實(shí)現(xiàn)
vendor('Pdf'); $pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('sunnier'); $pdf->SetTitle('123'); $pdf->SetSubject('123'); $pdf->SetKeywords('sunnier'); // set default header data $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING); // set header and footer fonts $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); // set margins $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); // set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); // set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); // set some language-dependent strings (optional) global $l; $pdf->setLanguageArray($l); // --------------------------------------------------------- // set font $pdf->SetFont('simfang', '', 10); // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Print a table // add a page $pdf->AddPage(); // 隨便寫(xiě)HTML $html = 'adsf'; // output the HTML content $pdf->writeHTML($html, true, false, true, false, ''); // reset pointer to the last page $pdf->lastPage(); $pdf->Output('哈哈哈'.pdf', 'I');
以上,可以不斷添加addPage,添加多頁(yè),最后Output輸出自己的名字的文件即可。
演示圖:
可以看到其中可以插入圖片也是沒(méi)有問(wèn)題的,寫(xiě)法就按照html寫(xiě)就OK,當(dāng)然不只是支持HTML,只是這里比較適合這種方式。
以上就是如何用PHP導(dǎo)出PDF的詳細(xì)內(nèi)容,更多關(guān)于用PHP導(dǎo)出PDF的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
PHP+Ajax實(shí)現(xiàn)的博客文章添加類(lèi)別功能示例
這篇文章主要介紹了PHP+Ajax實(shí)現(xiàn)的博客文章添加類(lèi)別功能,結(jié)合實(shí)例形式分析了php+ajax實(shí)現(xiàn)的數(shù)據(jù)交互、數(shù)據(jù)庫(kù)連接、查詢(xún)等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03針對(duì)PHP開(kāi)發(fā)安全問(wèn)題的相關(guān)總結(jié)
今天小編就為大家分享一篇關(guān)于針對(duì)PHP開(kāi)發(fā)安全問(wèn)題的相關(guān)總結(jié),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03淺析PHP類(lèi)的反射來(lái)實(shí)現(xiàn)依賴(lài)注入過(guò)程
這篇文章主要介紹了PHP類(lèi)的反射來(lái)實(shí)現(xiàn)依賴(lài)注入過(guò)程以及相關(guān)知識(shí)點(diǎn)分享,對(duì)此有興趣的朋友跟著小編學(xué)習(xí)下吧。2018-02-02PHP中curl_setopt函數(shù)用法實(shí)例分析
這篇文章主要介紹了PHP中curl_setopt函數(shù)用法,以實(shí)例形式分析了curl_setopt函數(shù)的功能、定義、用途及相關(guān)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04php對(duì)大文件進(jìn)行讀取操作的實(shí)現(xiàn)代碼
在php中,對(duì)于文件的讀取時(shí),最快捷的方式莫過(guò)于使用一些諸如file、file_get_contents之類(lèi)的函數(shù),簡(jiǎn)簡(jiǎn)單單的幾行代碼就能很漂亮的完成我們所需要的功能。但當(dāng)所操作的文件是一個(gè)比較大的文件時(shí),這些函數(shù)可能就顯的力不從心, 下面將從一個(gè)需求入手來(lái)說(shuō)明對(duì)于讀取大文件時(shí),常用的操作方法2013-01-01Mysql的Root密碼忘記,查看或修改的解決方法(圖文介紹)
本篇文章是對(duì)關(guān)于Mysql中的Root密碼忘記,查看或修改的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP+Redis開(kāi)發(fā)的書(shū)簽案例實(shí)戰(zhàn)詳解
這篇文章主要介紹了PHP+Redis開(kāi)發(fā)的書(shū)簽案例,結(jié)合實(shí)例形式詳細(xì)分析了php結(jié)合redis開(kāi)發(fā)書(shū)簽功能的具體步驟及相關(guān)操作技巧,需要的朋友可以參考下2019-07-07