前段时间安装了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) cidToUnicode Adobe-GB1 /usr/local/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode unicodeMap ISO-2022-CN /usr/local/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap unicodeMap EUC-CN /usr/local/xpdf-chinese-simplified/EUC-CN.unicodeMap unicodeMap GBK /usr/local/xpdf-chinese-simplified/GBK.unicodeMap cMapDir Adobe-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 #fontFileCC Adobe-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转换中文乱码的问题了
本文转载自高手博客!