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

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

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

本文转载自高手博客!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

一:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 二:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; ch
有客户反馈在安装网站后,woff、woff2字体无法加载,导致无法显示图标文件,这种情况要怎么解决呢? 这是因为服务器IIS默认是没有SVG,WOFF,WOFF2这几个文件类型的扩展的,所以如果要解决,我们就要在IIS上添加MIME 类型即可。 解决方法: 1、打开服务器IIS管
7-Zip是一款号称有着现今最高压缩比的压缩软件,它不仅支持独有的7z文件格式,而且还支持各种其它压缩文件格式,其中包括ZIP, RAR, CAB, GZIP, BZIP2和TAR。此软件压缩的压缩比要比普通ZIP文件高30-50%。因此,它可以把经WinZip压缩的文件再压缩2-10%。文件
查看新增磁盘的设备号 如下图,本例中新增磁盘设备号为 /dev/vdb,大小为10G;磁盘已自动完成分区(/dev/vdb1)和文件系统(ext4)的设置,下面直接挂载即可。 挂载磁盘文件系统 这里介绍两种挂载方式:手动和自动。手动即每次重启启动后,需要再次手工挂载分
报出了 Allowed memory size of 134217728 bytes exhausted 错误,而且重启电脑再次执行仍然是一样。上网查了查,是因为php默认内存限制是128M,所以需要修改php.ini文件。 1、查找到 memory_limit = 128M 这一行,将128M改大点,我这里直接是改成了2048M。
redirect uri is illegal(100010)错误怎么解决呢,我只是修改了下网站图标,然后回调地址修改了,因为之前是不带http://的,现在腾讯不加不行了,可加上后,网站就登录不上去了,咨询了客服,得到的回答是这样的: 100010报错解析方法:可以把出错页面的地址