1、下载SWFTools,这个是转换PDF的基础,下载地址:http://www.swftools.org/download.html
2、由于PDF中含有中文字体,需要下载Xpdf,下载地址:www.foolabs.com/xpdf/download.html
①于“Precompiled binaries”项目下,下载符合自己系统的二进制文件。
②于“Language Support Packages”项目下,下载所需字体包,中文简体为xpdf-chinese-simplified.tar.gz。
3、再转换带有中文字体的PDF,除了需要上述字体包外,还需要下载gbsn00lp.ttf及gkai00mp.ttf,下载地址可以在SWFTools安装目录的README中查找到:
gkai00mp.ttf : http://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/gkai00mp.ttf.gz
gbsn00lp.ttf : http://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/gbsn00lp.ttf.gz
1、SWFTools默认安装即可。
2、xpdf默认安装,安装目录不可出现空格,我是安装到c盘根目录下。
3、解压xpdf-chinese-simplified.tar.gz到xpdf目录下。
4、解压gbsn00lp.ttf及gkai00mp.ttf至c:\xpdf\xpdf-chinese-simplified\CMap目录下。
主要是修改xpdf-chinese-simplified目录下的add-to-xpdfrc文件
#----- begin Chinese Simplified support package (2011-sep-02) 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 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:\xpdf\xpdf-chinese-simplified\CMap\gbsn00lp.ttf displayCIDFontTT Adobe-GB1 C:\xpdf\xpdf-chinese-simplified\CMap\gkai00mp.ttf #----- end Chinese Simplified support package
pdf2swf.exe -o c:\pdf\pdf\1.swf -t c:\pdf\pdf\1.pdf -s languagedir=c:\xpdf\xpdf-chinese-simplified -T 9 -z -f
pdf2swf.exe执行命令参数说明如下:
-h | -help | 打印帮助日志 |
-V | -version | 打印版本号 |
-o | -output file.swf | 指定输出的swf文件名 |
-p | -pages range | 指定转换的页面范围1-20 或者1,4,6,9-11,使用的页码描述方法与打印机打印文件时候的选页一样 |
-P | -password password | 指定打开pdf的密码 |
-v | -verbose | 转换时输出详细内容 |
-z | -zlib | 使用flash6的zlib压缩机制 |
-i | -ignore | 允许修改pdf的绘制顺序,可能会导致结果和原来有差异 |
-j | –jpegquality quality | 设置转换其中的jpeg图片的质量,从0到100,默认值是85。 |
-s | -set param=value | 设置SWF转码时候的参数,具体参数可以用pdf2swf -s -help获取 |
-w | -samewindow | 设置转换后的swf打开原pdf中的连接时使用相同的窗口 |
-t | -stop | 在每一页结尾添加一个stop()命令 |
-T | -flashversion num | 设置SWF所使用的flash版本号 |
-F | -fontdir directory | 指定字体文件所在路径 |
-b | -defaultviewer | 指定默认的swf导航文件,用来翻页、放大缩小等等 |
-l | –defaultloader | 指定默认的swf加载文件,用来显示加载进程效果 |
-B | –viewer filename | 指定swf导航文件,作用同-b |
-L | –preloader filename | 指定swf加载文件,作用同-l |
-q | –quiet | 不打印普通信息,用-qq就不打印警告信息 |
-S | –shapes | 不使用字体,所有都转为形状 |
-f | –fonts | 在swf中保存全部字体 |
-G | –flatten | 在文件中尽量去除影片层,合并它们 |
-I | –info | 不做实际转换,仅显示PDF的信息 |
-Q | –maxtime n | 如果运行时间超时则退出 |
我们可以看到-s参数的用途,设置SWF转码时候的参数,可以通过pdf2swf -s help命令获得更多的参数:
对应的PDF参数
fontdir= | 指定字体目录, 与1级参数的-F相若 |
font= | 增加额外的字体文件 |
pages= | 指定页面范围,与1级参数的-p相若 |
zoom= | 指定分辨率,默认为72dpi |
languagedir= | 增加一个xpdf的语言目录,对非西欧字符有用 |
multiply= | 在几倍分辨率下渲染 |
poly2bitmap= | 把其中的图形转成点阵 |
bitmap= | 把所有内容转成点阵(包括字体) |
对应的SWF参数
jpegsubpixels=<pixels> | jpeg图片的分辨率 |
ppmsubpixels=<pixels> | 无损图片的分辨率 |
subpixels=<pixels> | 快速设置上两个参数 |
drawonlyshapes | 所有都转成图形 |
ignoredraworder | swf允许执行一些小优化 |
linksopennewwindow | 链接打开新窗口 |
linktarget | 新链接窗口名称 |
linkcolor=<color> | 链接的颜色 |
linknameurl | 链接名称与链接URL一致 |
storeallcharacters | 保存所有的字符字体 |
enablezlib | 使用zlib压缩 |
bboxvars | 在as中保存swf的区域大小 |
dots | 保存单点显示 |
reordertags=0/1 | 执行某些tag优化 |
internallinkfunction=<name> | 内部链接函数,如果点击一个内部链接,将调用该actionscript函数 |
externallinkfunction=<name> | 外部链接函数,如果点击一个外部链接,将调用该actionscript函数 |
disable_polygon_conversion | 不要将笔画转成多边形 |
caplinewidth=<width> | 线条最低转换宽度,比这个细的线条将不转换 |
insertstop | 在swf的每个桢中添加stop()函数 |
protect | 增加protect标签,禁止在flash中加载该swf |
flashversion=<version> | 设置最低swf版本 |
framerate=<fps> | 设置桢率 |
minlinewidth=<width> | 将宽度少于某值的矩形转成线条 |
simpleviewer | 使用简单的导航 |
animate | insert a showframe tag after each placeobject (animate draw order of PDF files) |
jpegquality=<quality> | 设置jpeg的压缩质量 |
splinequality=<value> | 设置样条曲线的转换质量 |
disablelinks | 禁止链接 |