如果您已經寫好一個PHP網頁程式,現在需要提供一個功能,例如一個按鈕,將此內容直接輸出PDF。這時候,可能需要另外寫一支PHP程式將內容轉輸出PDF。
筆者比較了幾個PHP程式庫後,推薦使用mPDF 程式庫,可以用最少的程式碼完成這個功能。
程式碼範例 :
require("mpdf60/mpdf.php"); $mpdf=new mPDF('utf-8','A4'); ob_start(); include('您的PHP網頁程式.php'); $html = ob_get_contents(); ob_end_clean(); $mpdf->WriteHTML($html); $mpdf->Output(); exit;
直接將寫好的PHP網頁程式include進來,就完成了,簡單吧。
不過看看輸出的PDF內容,您會發現無法如預期顯示您設定的字型,表格顯示也有一些問題。就這兩部分,還需要進入mPDF官網查查看相關設定 : 字型設定, 表格設定。
有關字型設定,以下是我的設定範例,如何在mPDF增加與顯示Eras ITC字型
步驟 1 將Eras ITC字型檔複製到mpdf60\ttfonts 資料夾中。
步驟 2 設定 mpdf60\config_fonts.php
2.1 $this->fontdata 中增加Eras ITC字型 $this->fontdata = array( "eras-itc" => array( 'R' => "ERASMD.TTF", 'B' => "ERASBD.TTF", ), 2.2 $this->fonttrans 增加 'erasitc' => 'eras-itc', $this->fonttrans = array( 'times' => 'timesnewroman', 'courier' => 'couriernew', 'trebuchet' => 'trebuchetms', 'comic' => 'comicsansms', 'franklin' => 'franklingothicbook', 'ocr-b' => 'ocrb', 'ocr-b10bt' => 'ocrb', 'damase' => 'mph2bdamase', 'erasitc' => 'eras-itc', );注意 : CSS程式中font-family只有$this->fonttrans與$this->fontdata設定的字型才會顯示, 而且名稱要一樣
步驟 3 修改程式中的CSS
body {
color: black;
font-family: erasitc, "Eras ITC","Eras Medium ITC", Arial;
}
沒有留言:
張貼留言
歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)