今天转了一个的pdf是出现字符集问题,并转换的swf为乱码。
出现的错误如下。

错误的原因是缺少中文字符集GBK-EUC-H。解决方法使用xpdf增加缺少的字符集。解决步骤如下:

(一) 下载相关的xpdf及字符集

xpdf-3.02pl5-win32.zip
下载地址为
ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl5-win32.zip
xpdf-chinese-simplified.tar.gz
下载地址为
ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz

也可以去http://www.foolabs.com/xpdf/download.html查找你自己需要的字符集

以上两个文件我已经放到附件里面有用的话可以下载

(二) 配置xpdf及字符集

1:解压xpdf-3.02pl5-win32.zip,解压后修改名称为xpdf,并将其考到c盘根目录下【路径可以随意指定,但是执行pdf2swf指令时要指定到当前目录】。

2:解压xpdf-chinese-simplified,将xpdf-chinese-simplified放置xpf目录下

3:修改xpdf-chinese-simplified目录下的add-to-xpdfrc文件

  1. #----- begin Chinese Simplified support package (2004-jul-27)
  2. cidToUnicode        Adobe-GB1         c:\xpdf\xpdf-chinese-simplified\Adobe-GB1.cidToUnicode
  3. unicodeMap            ISO-2022-CN    c:\xpdf\xpdf-chinese-simplified\ISO-2022-CN.unicodeMap
  4. unicodeMap    EUC-CN        c:\xpdf\xpdf-chinese-simplified\EUC-CN.unicodeMap
  5. unicodeMap    GBK     c:\xpdf\xpdf-chinese-simplified\GBK.unicodeMap
  6. cMapDir     Adobe-GB1    c:\xpdf\xpdf-chinese-simplified\CMap
  7. toUnicodeDir  c:\xpdf\xpdf-chinese-simplified\CMap
  8. fontDir C:\WINDOWS\Fonts
  9. displayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\simhei.ttf
  10. #displayCIDFontTT   Adobe-GB1   /usr/..../gkai00mp.ttf
  11. #----- end Chinese Simplified support package
#----- begin Chinese Simplified support package (2004-jul-27)
cidToUnicode Adobe-GB1 c:\xpdf\xpdf-chinese-simplified\Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN c:\xpdf\xpdf-chinese-simplified\ISO-2022-CN.unicodeMap
unicodeMap EUC-CN c:\xpdf\xpdf-chinese-simplified\EUC-CN.unicodeMap
unicodeMap GBK c:\xpdf\xpdf-chinese-simplified\GBK.unicodeMap
cMapDir Adobe-GB1 c:\xpdf\xpdf-chinese-simplified\CMap
toUnicodeDir c:\xpdf\xpdf-chinese-simplified\CMap
fontDir C:\WINDOWS\Fonts
displayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\simhei.ttf
#displayCIDFontTT Adobe-GB1 /usr/..../gkai00mp.ttf
#----- end Chinese Simplified support package

(三) 执行pdf2swf命令时增加字符集指令

php代码修改为

  1. $command= "D:/SWFTools/pdf2swf.exe  -t \"".$dir."\\test.pdf\" -o  \"".$dir."\\test.swf\" -s flashversion=9 -s  languagedir=\\xpdf\\xpdf-chinese-simplified";
 $command= "D:/SWFTools/pdf2swf.exe  -t \"".$dir."\\test.pdf\" -o  \"".$dir."\\test.swf\" -s flashversion=9 -s  languagedir=\\xpdf\\xpdf-chinese-simplified";  

java代码修改为

  1. String command= "D:/SWFTools/pdf2swf.exe  -t \""+path+"\\test.pdf\" -o  \""+path+"\\test.swf\" -s flashversion=9 -s languagedir=C:\\xpdf\\xpdf-chinese-simplified ";
String command= "D:/SWFTools/pdf2swf.exe  -t \""+path+"\\test.pdf\" -o  \""+path+"\\test.swf\" -s flashversion=9 -s languagedir=C:\\xpdf\\xpdf-chinese-simplified ";
  1. String command= "D:/SWFTools/pdf2swf.exe  -t \""+path+"\\test.pdf\" -o  \""+path+"\\test.swf\" -s flashversion=9 -s languagedir=C:\\xpdf\\xpdf-chinese-simplified ";
String command= "D:/SWFTools/pdf2swf.exe  -t \""+path+"\\test.pdf\" -o  \""+path+"\\test.swf\" -s flashversion=9 -s languagedir=C:\\xpdf\\xpdf-chinese-simplified ";

以上完成关于字符集乱码的配置。

增加完成后执行命令可以看到adding命令

以上不能全部解决字符集乱码的问题可能还会缺少字符

可以看缺少什么字符集就加什么字符集

  1. displayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\你的字符集

附件xpf.rar为我的配置可以参考

  • >

在此感谢原作分享

swf2pdf转swf时字符集问题【转】的更多相关文章

  1. [ActionScript 3.0] AS3.0 Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain

    实际应用中, Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain,需要择情况而定. 1.如果在本地将项目位置添加到flashplayer受信任位置(上一篇文章所述) ...

  2. FireDac 与数据库连接时字符集及对应的字段类型问题

    近日在一个过程调用时发生一个奇怪现象, 异常返回意思是说, 数据的长度是[6], 而字段定义的长度是[3].  分析后认为:  调用过程你不涉及到对返回数据集的字段手动定义问题, 出现这个问题应是两边 ...

  3. 部署OGG时字符集转换问题--oracle to oracle已验证,其他异构环境应当也适用

    之前在安装OGG总是遇到字符集问题,尤其是多源端对一个目标端时,源端字符集不同,导致出现字符集问题 无法同步数据,查阅了大量的园子资料,都说要设置复制或抽取进程中SETENV (NLS_LANG=AM ...

  4. [ActionScript 3.0] as3.0加载as2.0的swf时获取as2.0的实际舞台尺寸

    var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler) ...

  5. php序列化与反序列化时字符集不一致问题的解决办法

    今天的用PHP的时候无意的出现了用unserialize()函数转换老是返回false,我确认我的字符串是没错的,测试了很多次还是一样,没办法,启用了error_reporting(E_ALL)启用错 ...

  6. oracle 10g 安装时字符集的选择,和后边的修改

    先用system和密码登陆SQLPLUS,然后: 1.用sys登录到oracle中 connect sys/密码 as sysdba; (能直接以sys登陆到sqlplus吗?)2.开始修改编码 sh ...

  7. AS3 从外部SWF中获取资源的方法(ApplicationDomain的使用)

    package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; ...

  8. mysql数据校验之字符集问题

    场景:主库DB:utf8字符集备库DB:gbk字符集 需求:校验主备数据是否一致,并且修复 校验过程:设置主库连接为utf8,设置备库连接为gbk,分别进行查询,将返回的的结果集按记录逐字段比较. 显 ...

  9. java中几种常见字符集与乱码介绍

    1.  ASCII和Ansi编码 字符内码(charcter code)指的是用来代表字符的内码 .读者在输入和存储文档时都要使用内码,内码分为  单字节内码 -- Single-Byte chara ...

随机推荐

  1. 蒙特卡洛法计算定积分—Importance Sampling

    如上图所示,计算区间[a  b]上f(x)的积分即求曲线与X轴围成红色区域的面积.下面使用蒙特卡洛法计算区间[2  3]上的定积分:∫(x2+4*x*sin(x))dx # -*- coding: u ...

  2. Lambda表达式之Python

    一.lambda函数 1.lambda函数基础: lambda函数也叫匿名函数,即,函数没有具体的名称,而用def创建的方法是有名称的.如下: """命名的foo函数&q ...

  3. 超强vim配置

    在网上找vim的配置,自己配置的特别丑 安装起来也超级方便. #!/bin/bash echo "安装将花费一定时间,请耐心等待直到安装完成^_^" if which apt-ge ...

  4. 5.5.3使用terminfo功能标志

    当使用terminfo时,需要做的第一件事就是调用函数setupterm来设置终端类型.这将为当前的终端类型初始化一个TERMINAL结构.然后,你就可以查看当前终端的功能标志并使用他们的功能了. # ...

  5. 读写分离提高 SQL Server 并发性能

    以下内容均非原创,仅作学习.分享!! 在 一些大型的网站或者应用中,单台的SQL Server 服务器可能难以支撑非常大的访问压力.很多人在这时候,第一个想到的就是一个解决性能问题的利器——负载均衡. ...

  6. C#:常规属性和自动实现的属性

    根据属性的实现方式,属性可分为自动实现的属性和常规属性. 常规属性需要具体的人为的实现get访问器或者set访问器,而且一般需要有一个字段与之相对应:而自动实现的属性的get和set访问器的实现部分被 ...

  7. implement Google's Open Source Slam "Cartographer" demos in ROS/rviz

    Cartographer is a backpack equipped with Simultaneous Localization and Mapping (SLAM) technology. 1. ...

  8. C#形参,实参,值传递参数,引用传递参数,输出参数,参数数组的学习

    1)形参 形参顾名思义就是形式上的参数,不是实际的参数,它代替实际传入方法的值.在方法体代码中代表了值本身参与运算.形参定义于参数中,它不同于方法体内局部变量,因为是一个变量,在它的作用域内不允许存在 ...

  9. 使用Select命令创建菜单

    创建文本菜单的一半功夫都花在了创建菜单布局和获取输入的字符上.bash shell提供了一个很容易上手的小工具来自动完成这些工作select命令允许从单个命令行创建菜单,然后在提取输入的答案并自动处理 ...

  10. Java初始化(成员变量)

    java尽力保证:所有变量在使用前都能得到恰当的初始化.对于方法的局部变量,java以编译时错误的形式来贯彻这种保证.如下面代码: public class TestJava { void test( ...