ftl转PDF服务器上中文不显示,解决Linux中swftools转换中文pdf时出现乱码问题
前段時間安裝了swftools可以將pdf轉換為swf文件,然后配合一個FlexPaper,就可以做成和百度圖文庫類似的東東了.
但是今天,我們開發的同事告訴我說pwd轉換的這個會有亂碼問題,我看了一下果然是亂碼了.
果斷打開百度,看了一下主要是由于沒有相應的字體文件,所以才造成亂碼的
而且在使用pdf2swf命令進行轉換的時候也能看出來,命令報錯了.
Error: Unknown character collection 'Adobe-GB1'
Error: Couldn't find 'GBK-EUC-H' CMap file for 'Adobe-GB1' collection
Error: Unknown CMap '{0:t}' for character collection '{1:t}'
Error: Unknown character collection 'Adobe-GB1'
Error: Couldn't find 'GBK-EUC-H' CMap file for 'Adobe-GB1' collection
Error: Unknown CMap '{0:t}' for character collection '{1:t}'
Error: Unknown font tag 'C2_2'
Error (265813): No font in show
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_2'
Error: Unknown font tag 'C2_3'
可以看出上述報錯信息中是在Adobe-GB1中找不到GBK-EUC-H,既然找不到相應的那咱們就給他加上吧,但是說時容易其實弄起來也是忙活了半天,在網上有一個字體文件很難下載呀,不過這里我給大家放上我下載到的,就不用再去找了 ?哈哈?點擊下載附件~
先說明一下,需要下載xpdf-chinese-simplified這個簡體xpdf的簡體中文包,這個附件中也帶了,而且配備需要的兩個字體,直接修改一下配置文件就能用了
其中xpdf-chinese-simplified/CMap/gbsn00lp.ttf和xpdf-chinese-simplified/CMap/gkai00mp.ttf就是需要的兩個字體文件,我已經放在相應的目錄了
剩下的就是修改配置文件中的路徑了,打開xpdf-chinese-simplified/add-to-xpdfrc,我的內容是
#----- begin Chinese Simplified support package (2011-sep-02)
cidToUnicodeAdobe-GB1/usr/local/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMapISO-2022-CN/usr/local/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMapEUC-CN/usr/local/xpdf-chinese-simplified/EUC-CN.unicodeMap
unicodeMapGBK/usr/local/xpdf-chinese-simplified/GBK.unicodeMap
cMapDirAdobe-GB1/usr/local/xpdf-chinese-simplified/CMap
toUnicodeDir/usr/local/xpdf-chinese-simplified/CMap
displayCIDFontTT Adobe-GB1 /usr/local/xpdf-chinese-simplified/CMap/gbsn00lp.ttf
displayCIDFontTT Adobe-GB1 /usr/local/xpdf-chinese-simplified/CMap/gkai00mp.ttf
#fontFileCCAdobe-GB1/usr/..../gkai00mp.ttf
#----- end Chinese Simplified support package
其中/usr/local/xpdf-chinese-simplified是我解壓后的xpdf-chinese-simplified路徑,所以只要把這個改成你自己的就可以了
displayCIDFontTT Adobe-GB1 /usr/local/xpdf-chinese-simplified/CMap/gbsn00lp.ttf
displayCIDFontTT Adobe-GB1 /usr/local/xpdf-chinese-simplified/CMap/gkai00mp.ttf
這兩個是在原來的內容上添加的,也就是咱們下載的兩個字體文件(附件中已經包含)
之后就是使用pdf2swf進行轉換了,其實并沒有多少特別的,就只是指定一個語言參數就可以了
pdf2swf /Data/file02/pdf/2013/11/23/19/025062152d1f0ec89e57b0779f80887ab1.pdf
/Data/file02/swf/2013/11/23/19/025062152d1f0ec89e57b0779f80887ab1.swf -s languagedir=/usr/local/xpdf-chinese-simplified/
其中-s?languagedir=/usr/local/xpdf-chinese-simplified/就是新添加的參數,這個是要加載的語言包路徑,注意和你的路徑要相同哦,不然還是無效的.
到這里就解決了swftools轉換中文亂碼的問題了
本文轉載自高手博客!
總結
以上是生活随笔為你收集整理的ftl转PDF服务器上中文不显示,解决Linux中swftools转换中文pdf时出现乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php mysql 失败_在php中插入
- 下一篇: php 商品展示html,HTML5和C