發表文章

目前顯示的是 3月, 2025的文章

TCPDF 使用心得,工作筆記

圖片
前情提要 這次的功能是要將訂單列印出多個PDF 。以往印單頁的PDF 簡單作法就是以網頁的方式,排版出列印樣式,右鍵列印(圖1)。 網頁右鍵列印 (圖1) 那這次就做了不一樣的作法,直接產出PDF。 讓使用者下載印好內容的pdf,不再是透過瀏覽器+右鍵列印。 因為撰寫的語言是PHP,這次用的工具是 TCPDF (圖2) 。也有其他在產出PDF的工具,如domPDF。 TCPDF列印(圖2) 產生TCPDF可使用的字體 選用語系可接受的字型 在使用TCPDF的時候,有些需要注意的地方,例如字型檔.ttf、出血設定(沒設定好 有可能被裁切到)。 以字體來說,因為TCPDF預設是 helvetica ,但這個字型並不支援中文,若是沒有設定能印出中文的字型,則會印出一堆問號?。 (參考官網設定) TCPDF 內建也有提供可印出繁體中文的字型.ttf,如: cid0cs、cid0ct、cid0jp 、msungstdlight, 但是使用內建的字型檔,有些可能出現偏移的狀況或者漏字的情況,這也會和字型檔有關。 (圖3、圖4、圖5、圖6) cid0cs(圖3) cid0ct(圖4) cid0jp(圖5) msungstdlight(圖6) 可以看到一樣的區塊,但是印出來的字型樣式卻有些不同,有的字印出來甚至會跑版,如:cid0ct,只要是括弧的第一個字就會移位或者有字體消失,如: cid0cs 訂購商品 的字直接消失。 網路上有許多文章在探討中文印不出來可以選用那些樣式,找了一下之後發現幾個字型是印出來支援繁體字滿完整的字型 。 DroidSansFallback安卓系统(圖7)、  justfont 粉圓(圖8)。    DroidSansFallback安卓系统(圖7) 粉圓字體(圖8)   產出TCPDF可接受的檔案 以droidsansfallback.ttf為範例,在網路上可以下載到開源的使用字型後,要轉成TCPDF可接受的格式,並放入到TCPDF/fonts/(圖9),這樣子TCPDF才能找到對應字型     轉成TCPDF可接受的字體(圖9)             可使用TCPDF 內建的function  (圖10) ,來...