茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1729345 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00329.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

PHP特區 : [轉貼]免費好用的 PDF Library 大搜集

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]使用 PHP 開源類別 ( TCPDF ) 製作 UTF-8 的 PDF 報表

使用PHP開源類別(TCPDF)製作 UTF-8 的PDF報表


最近有PHP專案需要製作報表,決定了輸出使用PDF格式後,便開始尋找解決方案。目前網路上找到的大多是FPDF或是其衍生出來的專案,因為有點急,就直接拿FPDF來做,沒想到是惡夢的開始XD,使用FPDF製作英文內容的FPDF,是沒什麼問題,但如果是中文內容,便問題重重。

試了很多目前現存在網路上號稱支援中文的FPDF,試驗結果不是失敗就是只支援BIG5 (chinese.php檔),偏偏客戶的中文資料有罕見字,像是媖、煊、堃、珉、彣、伃、峯、晧等字,若用BIG5就會出不來。

試了好幾個小時後宣告放棄FPDF,尋找它表現比較好的子孫,於是找到TCPDF

TCPDF因為是FPDF的子孫,所以語法幾乎不太需要轉換,而且支援UTF-8,真的是感動哪。不過它最感心的不只是支援UTF-8,它還支援WriteHTML這個超級相見恨晚的函式,故名思義就是只要餵它HTML語法,它就可以忠實轉成PDF內容。

到TCPDF官網下載TCPDF後,解開後可發現裡頭的examples目錄就有很多範例了。做報表最基本的就是頁首、頁尾的設定了,可參考第1~3個範例;另外,第6個範例就是WriteHTML。

基本上它的使用方式很簡單,只要include TCPDF,自建一個class,然後去extend TCPDF類別,接著new出實體,就可以開始Play了:



include_once ('lib/tcpdf/tcpdf.php');
require_once('lib/tcpdf/config/lang/eng.php');
class PDF_report1 extends TCPDF
{
//Page header
function Header()
{
// 自訂頁首內容
}
function Footer()
{
// 自訂頁尾內容
}
}
$pdf = new PDF_report1('P','mm','A4', true, 'UTF-8', false);

如上,New出來的$pdf,就可以藉著執行一脫拉庫的方法,一步一步的建立PDF格式的內容,最後再output,這個php檔就會輸出成pdf格式了。

至於輸出UTF-8的中文字,只要使用此語法就OK了:



$pdf->SetFont('msungstdlight','',16);

其他詳細用法,直接copy範例修改會比較快。

參考:
TCPDF官網-範例


原文出處:使用PHP開源類別(TCPDF)製作 UTF-8 的PDF報表 @ mr.mu
前一個主題 | 下一個主題 | | | |

討論串




Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|