解决Linux中swftools转换中文pdf时出现乱码问题

2017-11-26服务器
177

前段时间安装了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转换中文乱码的问题了

本文转载自高手博客!

The End
乱码问题

相关推荐

解决Linux中swftools转换中文pdf时出现乱码问题
前段时间安装了swftools可以将pdf转换为swf文件,然后配合一个 FlexPaper ,就可以做成和百度图文库类似的东东了. 但是今天,我们开发的同事告诉我说pwd转换的这个会有乱码问题,我看了一下果然是乱码了. 果断打开百度,看了一下主要是由于没有相应的字体文件,所...
2017-11-26 服务器
177

关于Apache默认编码错误 导致网站乱码的解决方案
Apache默认编码UTF-8在解析A网站的时候没有任何问题,当运行B网站时出现的蝌蚪文乱码问题...
2016-09-25 服务器
13

通过伪静态解决中文乱码问题
当在网站使用伪静态的时候.显示中文出现乱码.不妨在你的伪静态页面中加上[QSA,NU,PT,L]试试...
2016-09-25 服务器
9

SecureCRT中文显示乱码问题的解决方法
这篇文章主要介绍了SecureCRT中文显示乱码问题的解决方法,需要的朋友可以参考下...
2016-09-25 服务器
10

伪静态URL中文乱码问题解决方法
在 ISAPI_Rewrite 1.3 版本时,只要对URL进行UrlEncode操作,就可以正常接收中文,但是换为 3.1版后, 采用GB2312 的接收页面就是乱码了。 换用了ISAPI_Rewrite 3.x后发现编码后的字符会变成乱码,如果直接使用中文不编码,则会被格式化为GBK字符串。解决方...
2016-06-01 服务器
362