線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1754
推到 Plurk!
推到 Facebook!

用 php 製作中文 PDF 檔

 
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-20 20:10:44 IP:61.64.xxx.xxx 未訂閱
14.7. 用 php 製作中文 PDF 檔    http://freebsd.sinica.edu.tw/zh-tut/php-pdf.html 14.7. 用 php 製作中文 PDF 檔 Contributed by Tim (tim@dnes.mlc.edu.tw) Last Update: 2003年 4月20日 周日 15時59分41秒 CST php 目前可以使用 PDFlib 來建立不內嵌字型的 PDF 檔, 在 pdf_findfont 的部分要給對字型就可以了。 $font = pdf_findfont($pdf, 'MSung-Light', 'ETen-B5-H', 0); 以下是完整範例,記得要先在該目錄底下建立 hello.pdf 並且將權限改成 666。 <?php   echo '<meta http-equiv="Content-Type" content="text/html; charset=big5">'; //create file $fp = fopen('hello.pdf', 'w'); if(!$fp) { echo "Error: could not create the PDF file"; exit; } // start the pdf document $pdf = pdf_open($fp); pdf_set_info($pdf, "Creator", "pdftest.php"); pdf_set_info($pdf, "Author", "Shen Chun-Hsing"); pdf_set_info($pdf, "Title", "Hello World (PHP)"); // US letter is 11" x 8.5" and there are approximately 72 points per inch pdf_begin_page($pdf, 8.5*72, 11*72/2); pdf_add_outline($pdf, 'Page 1'); // 取得字型 $Efont = pdf_findfont($pdf, 'Times-Roman', 'host', 0); $Cfont = pdf_findfont($pdf, 'MSung-Light', 'ETen-B5-H', 0); // write text pdf_setfont($pdf, $Efont, 24); pdf_set_text_pos($pdf, 50, 700/2); pdf_show($pdf,'Hello world!'); pdf_continue_text($pdf,'(says PHP)'); pdf_setfont($pdf, $Cfont, 24); pdf_continue_text($pdf,'細明體中文字測試'); // end the document pdf_end_page($pdf); pdf_close($pdf); fclose($fp); // display a link to download echo "測試檔PDF"; echo ""; show_source( basename( getenv("SCRIPT_FILENAME") ) ); ?> 在 pdf_findfont 的部分選擇 ('MSung-Light', 'ETen-B5-H') 這樣子的 CID-Keyed font 就可以使用明體了, 第一個欄位還可以換成 MHei-Medium 來使用楷體, 不過在目前的支援度下,所能看到的不管設定明體或是楷體, 都只會有明體而以, 這必須是 PDF 瀏覽器支援設定的字體有其相對應的字體才行, 而第二個欄位 CMap 基本上建議使用 ETen-B5-H 才能使用倚天外字。 可以用的英文字型如下: Courier Courier-Bold Courier-Oblique Courier-BoldOblique Helvetica Helvetica-Bold Helvetica-Oblique Helvetica-BoldOblique Symbol Times-Roman Times-Bold Times-Italic Times-BoldItalic ZapfDingbats。 可以用的中文 CMap 如下: B5pc-H B5pc-V HKscs-B5-H HKscs-B5-V ETen-B5-H ETen-B5-V ETenms-B5-H ETenms-B5-V CNS-EUC-H CNS-EUC-V UniCNS-UCS2-H UniCNS-UCS2-V。 Figure 14-2. php-pdf snapshot 而 pdf_add_bookmark 有人說有中文的問題,可是在筆者的測試之下, Big5 編碼的 bookmark 在 Acroread 5 可以正常看到,或是利用 iconv 轉成 UTF-16 也是正常的,所以如果您看到的 bookmark 有中文問題, 可以利用 iconv("Big5", "UTF-16", "中文字") 來試試看。 WWW: http://www.PDFlib.com/
系統時間:2024-05-07 23:56:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!