swftools 将pdf转换swf常见问题说明

swftools将PDF转成swf
SWFTools提供了一系列将各种文件转成swf的工具:

font2swf.exe
gif2swf.exe
jpeg2swf.exe
pdf2swf.exe
png2swf.exe
wav2swf.exe
具体的功能就顾名思义了。

其中把pdf转成swf的工具就是pdf2swf了。在命令行中运行pdf2swf src.pdf des.swf一般能满足需求。而命令行参数可以通过pdf2swf -f得到:

-h , –help                      Print short help message and exit              打印帮助信息
-V , –version                Print version info and exit                        打印版本号
-o , –output file.swf         Direct output to file.swf. If file.swf contains ‘13568621′ (file13568630.swf), then each page指定输出的swf文件名
-p , –pages range             Convert only pages in range with range e.g. 1-20
or 1,4,6,9-11 or

指定转换的页面范围,使用的页码描述方法与打印机打印文件时候的选页一样

-P , –password password       Use password for deciphering the pdf.指定打开pdf的密码
-v , –verbose                 Be verbose. Use more than one -v for greater effect.转换时输出详细的内容
-z , –zlib                    Use Flash 6 (MX) zlib compression.使用Flash 6的zlib压缩机制
-i , –ignore                  Allows pdf2swf to change the draw order of the pdf. This may make the generated允许程序修改pdf的绘制顺序,可能会导致结果与原来有差异
-j , –jpegquality quality     Set quality of embedded jpeg pictures to quality. 0 is worst (small), 100 is best (big). (default:85)设置转换其中的jpeg图片的质量,从0到100,默认值是85。
-s , –set param=value         Set a SWF encoder specific parameter.  See pdf2swf -s help for more information.  设置SWF转码时候的参数,具体参数可以用pdf2swf -s help获取
-w , –samewindow              When converting pdf hyperlinks, don’t make the links open a new window.        设置转换后的swf打开原pdf中的连接时使用相同的窗口
-t , –stop                    Insert a stop() command in each page.            在每页结尾添加一个stop()命令
-T , –flashversion num        Set Flash Version in the SWF header to num.         设置SWF所使用的flash版本号
-F , –fontdir directory       Add directory to the font search path.                    指定字体文件所在路径
-b , –defaultviewer           Link a standard viewer to the swf file.             指定默认的swf导航文件,用来翻页、放大缩小等等
-l , –defaultloader           Link a standard preloader to the swf file which will be displayed while the main swf is loading.     指定默认的swf加载文件,用来显示加载进程效果
-B , –viewer filename         Link viewer filename to the swf file.   指定swf导航文件,作用同-b
-L , –preloader filename      Link preloader filename to the swf file.      指定swf加载文件,作用同-l
-q , –quiet                   Suppress normal messages.  Use -qq to suppress warnings, also.  不打印普通信息,用-qq就不打印警告信息。
-S , –shapes                  Don’t use SWF Fonts, but store everything as shape. 不使用字体,所有都转为形状。
-f , –fonts                   Store full fonts in SWF. (Don’t reduce to used characters). 在swf中保存全部字体。
-G , –flatten                 Remove as many clip layers from file as possible. 在文件中尽量去除影片层,合并它们
-I , –info                    Don’t do actual conversion, just display a list of all pages in the PDF. 不做实际转换,仅显示PDF的信息。
-Q , –maxtime n               Abort conversion after n seconds. Only available on Unix. 如果运行时间超时则退出。

--------------------------------------------------------------------------------
然后看看-s都可以设置些什么:
PDF Parameters:
PDF device global parameters:
fontdir= a directory with additional fonts 指定字体目录, 与1级参数的-F相若
font= an additional font filename 增加额外的字体文件
pages= the range of pages to convert (example: pages=1-100,210-) 指定页面范围,与1级参数的-p相若
zoom= the resolution (default: 72) 指定分辨率,默认为72dpi
languagedir= Add an xpdf language directory 增加一个xpdf的语言目录,对非西欧字符有用
multiply= Render everything at the resolution 在几倍分辨率下渲染
poly2bitmap Convert graphics to bitmaps 把其中的图形转成点阵
bitmap Convert everything to bitmaps 把所有内容转成点阵(包括字体)

SWF Parameters:

SWF layer options:
jpegsubpixels=<pixels> resolution adjustment for jpeg images (same as jpegdpi, but in pixels) jpeg图片的分辨率
ppmsubpixels=<pixels> resolution adjustment for  lossless images (same asppmdpi, but in pixels) 无损图片的分辨率
subpixels=<pixels>     shortcut for setting both jpegsubpixels and ppmsubpixels 快速设置上两个参数
drawonlyshapes           convert everything to shapes (currently broken) 所有都转成图形
ignoredraworder         allow to perform a few optimizations for creating smaller SWFs 允许执行一些小优化
linksopennewwindow   make links open a new browser window 链接打开新窗口
linktarget                  target window name of new links       新链接窗口的名称
linkcolor=<color)        color of links (format: RRGGBBAA)    链接的颜色
linknameurl         Link buttons will be named like the URL they refer to (handy for iterating through links with actionscript)   链接名称与链接URL一致
storeallcharacters      don’t reduce the fonts to used characters in the output file 保存所有的字符字体
enablezlib                switch on zlib compression (also done if flashversion>=7) 使用zlib压缩
bboxvars                 store the bounding box of the SWF file in actionscript variables 在as中保存swf的区域大小
dots                        Take care to handle dots correctly 保存单点显示
reordertags=0/1     (default: 1) perform some tag optimizations 执行某些tag优化
internallinkfunction=<name> when the user clicks a internal link (to a different page) in the converted file, this actionscript function is called 内部链接函数,如果点击一个内部链接,将调用该actionscript函数
externallinkfunction=<name> when the user clicks an external link (e.g. http://www.foo.bar/) on the converted file, this actionscript function is called 外部链接函数,如果点击一个外部链接,将调用该actionscript函数
disable_polygon_conversion  never convert strokes to polygons (will remove capstyles and joint styles) 不要将笔画转成多边形
caplinewidth=<width>        the minimum thichness a line needs to have so that capstyles become visible (and are converted)           线条最低转换宽度,比这个细的线条将不转换
insertstop                  put an ActionScript “STOP” tag in every frame 在swf的每个桢中添加stop()函数
protect                     add a “protect” tag to the file, to prevent loadingin the Flash editor 增加protect标签,禁止在flash中加载该swf
flashversion=<version>  the SWF fileversion (6) 设置最低swf版本
framerate=<fps>         SWF framerate  设置桢率
minlinewidth=<width>  convert horizontal/vertical boxes smaller than thiswidth to lines (0.05)将宽度少于某值的矩形转成线条
simpleviewer     Add next/previous buttons to the SWF 使用简单的导航
animate           insert a showframe tag after each placeobject (animate draw order of PDF files) ???
jpegquality=<quality>  set compression quality of jpeg images 设置jpeg的压缩质量
splinequality=<value>  Set the quality of spline convertion to value (0-100, default: 100). 设置样条曲线的转换质量
disablelinks                Disable links.  禁止链接

--------------------------------------------------------------------------------
在含中文的pdf转换时会遇到一些麻烦,具体的解决方法:(javaeye上的文字)
1. 下载swftools:http://www.swftools.org/download.html

下载xpdf xpdf-chinese-simplified

下载两个中文字体文件 字体文件

2 .安装swftools 至任意路径

解压缩xpdf 至任意路径

解压缩中文字体至xdpf\chinese-simplified\CMap文件夹下

3. 修改xpdf下xpdfrc文件 将cidToUnicode 等路径改为本机路径,

修改xpdf下chinese-simplified\add-to-xpdfrc文件 同上

4. 打开命令行窗口: pdf2swf -o 输出文件路径 -t 输入文件路径 -s languagedir=xpdf路径\chinese-simplified

--------------------------------------------------------------------------------
有些pdf中的图形转换效果不好,会产生过多shape,这种情况下可以使用 -s poly2bitmap 的参数,将图形转成点阵。生成的swf尺寸少了。

Tags: font, pdf, swf

This entry was posted on 星期三, 2月 18th, 2009 at 11:19 上午 and is filed under Flash, font. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

14 Responses to “swftools将PDF转成swf”
 lji Says:

3月 26th, 2009 at 4:21 下午
赞好文!非常感谢!我按照你的方法处理一个中文文档时出问题了:
Couldn’t find a font for ‘黑体’
这个文档的字体编码是“GBK-EUC-H”, 实际字体是黑体,类型是TrueType(CID)。
请教一下,多谢多谢!

polo Says:

3月 26th, 2009 at 5:38 下午
1.从复制一个simhei.ttf到xdpf\chinese-simplified\CMap下,
2.修改修改xpdf下xpdfrc文件,增加一行:displayCIDFontTT Adobe-GB1 simhei.ttf的路径

还有问题的话请将pdf文件发到[email protected]

flyday Says:

5月 20th, 2009 at 1:53 下午
最近在研究swftools
刚好看到你的文章真的是太感谢了~
不过我有一个问题
请问使用swftools可以侦测出pdf总共有几页吗?

polo Says:

5月 20th, 2009 at 4:14 下午
好像不能,因为获取页数的这个需求,我用swftools的时候也遇到过,并且看了一下公开的参数和源代码里面识别的参数,没有专门获取页数的功能。

可以用个土办法:通过 -p 参数指定页数看返回信息,检测该页是否存在。
当然用pdflib可以转成txt,然后数一下里面的分页符有多少个也可以。

apple Says:

8月 6th, 2009 at 4:40 下午
为什么我用这个工具转pdf的时候,那些数学公式很多出现了乱码啊,好郁闷啊,有没有什么解决的办法呢?thx

test Says:

9月 23rd, 2009 at 5:00 下午
出现乱码就直接把它转换成图片就好了。

grassking Says:

12月 8th, 2009 at 11:56 上午
String command = “C:\\Program Files\\SWFTools\\pdf2swf.exe” + “-t”+ sourcePath +”\\”+ “-s languagedir=D:\\xpdf\\xpdf-chinese-simplified “+”-s flashversion=9 “+ ” -o”+ destPath + fileName;

Process pro = Runtime.getRuntime().exec(command);
通过JAVA语句进行转换时出现错误,请问是不是命令用错了啊

polo Says:

12月 9th, 2009 at 7:23 下午
回grassking:

你的command字符串应该在不同的子串之间加上空格
不然连在一起肯定是个错误的命令。

grassking Says:

12月 10th, 2009 at 11:36 上午
嗯,谢谢你的指导。我定义成STringBuffer 类型,然后通过append进行添加组合能通过测试了。
只是字体路径好像还有点问题,先搞搞,搞不好再请教你吧。谢谢。

grassking Says:

12月 10th, 2009 at 6:10 下午
我进行字体测试时,在命令提示符下面显示
ERROR Could not open D:\xpdf\chinese-simplified\add-to-xpdfrc
请问add-to-xpdfrc要保存为什么类型啊,还有xpdfrc这个文件有两个类型,一个是.bat,一个是无类型,改路径时两个文件里的路径都要改吗?谢谢!

polo Says:

12月 16th, 2009 at 11:41 上午
add-to-xpdfrc应该没有后缀的吧

wing Says:

1月 14th, 2010 at 10:16 下午
您好,我用swftools的snapshot版本,结果直接就报错退出了
用目前的release版本
结果提示 找不到黑体字体
我就按照提示的方法:

displayCIDFontTT Adobe-GB1 simhei.ttf的路径

结果依旧没有什么改善
还是看不见文字
好像那个文档全是黑体…..

我已经给您邮件了 希望收到您的回复

wing Says:

1月 14th, 2010 at 10:19 下午
提示是这个样子的

Error: Couldn’t find a font for ‘黑体,Bold’
Error: Couldn’t find a font for ‘黑体’
Error: Couldn’t find a font for ‘黑体’
Error: Couldn’t find a font for ‘SimHei’
Error: Couldn’t find a font for ‘黑体’

wing Says:

1月 14th, 2010 at 10:28 下午
您好 感谢您的文章 目前我这边能够正常使用了
不过 我将

displayCIDFontTT Adobe-GB1 simhei.ttf的路径

添加到xpdfrc没有效果
添加到add-to-xpdfrc才有效果

。。。。。 不知道为什么 还希望您能够解答。

时间: 2024-10-13 12:39:46

swftools 将pdf转换swf常见问题说明的相关文章

利用pdf2swf将PDF转换成SWF

将PDF转换成SWF可以使用SWFTools工具中的pdf2swf(http://www.swftools.org/),CSDN快速免积分下载地址http://download.csdn.net/detail/itmyhome/7270665 一个简单的将PDF文档转成SWF的用法: C:\SWFTools\pdf2swf example.pdf -o example.swf -f -T 9 1.首先下载安装,一直默认下一步即可.2.java代码 import java.io.BufferedR

asp.net 实现pdf、swf等文档的浏览

一.pdf的浏览 可以借助于pdf.js插件完成,使用pdf.js的好处是不需要安装额外的插件(比如flash),是纯web的解决方案.插件的下载链接:http://mozilla.github.io/pdf.js/. 通过pdf.js里面的示例代码可以看出,实际上浏览pdf文档是通过viewer.html实现的.在链接后面通过传入file参数,实现不同文档的浏览.比如如下的链接: <a href="#" onclick="show('../../Js/pdf.js/w

PDF解决方案(3)--PDF转SWF

相关专题链接 PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF 前言:上一篇中介绍了上传的文件转PDF,主要是一些常用的文档格式转换为PDF:这一篇主要介绍如何把PDF转换为SWF,为下一步文件在线浏览做准备: PDF在线浏览的主要以下几种方式: 1.PDF浏览器插件 这种方式依赖PDF阅读器厂商提供的浏览器插件,主流的PDF阅读器如Adobe.福昕在安装本地客户端的时候都会附带安装这种控件,直接把本地的PDF文件拖到浏览器即可看到效

将PDF转换成CAD,怎么直接操作

在我们工作当中,最常接触的文件格式之一就是PDF格式文档.如今不少的的电子邮件.公司文告都是PDF格式的,而且在我们阅读的PDF文件当中,不少就是CAD的图纸文件,如果我们想要将这些PDF文件转换成可编辑的CAD图纸文件,那么我们应该怎么进行转换?PDF转换成CAD怎么直接转换? 想要将PDF文件转换成CAD文件,那么就需要使用PDF转CAD转换器http://www.cr173.com/soft/510350.html这款专业的文件转换器进行转换,利用这款软件即可轻松的将PDF文件转换成CAD

专家现场教你把PDF转换成Word

在平时小编常常会在百度文库中下载一些专业资料,一来是为了巩固知识,二来是的学着自己编写一些文章.可下载的资料大部分都是pdf格式的,想要从中摘取一些文字比较难,因为这个问题一直让小编很困扰,所以特地咨询了相关的专家,专家告诉小编,PDF文件是可以转换成Word文档使用的,这样不仅编辑简单,使用也方便,说着还现场给小编演示了把PDF转换成Word,步骤如下: 第一步,在百度上搜索"迅捷PDF转换器",找到软件的下载资源,将软件下载并安装到电脑上,然后点击运行进入软件主界面.软件下载:迅捷

财务必备技能 如何将pdf转换成excel

虽然pdf文件有各种的优点,但是编辑权限也是事实,将pdf转换成其他格式文件是不可避免的,之前小编给大家讲解过很多使用迅捷pdf转换器将pdf转换成word或是word转换成pdf的方法.今天就不局限于pdf和word的转换了,这里给大家一个新的转换形式,那就是pdf表格文件转换成excel,这可是财务必备技能之一,不会这种转换怎么看怎么亏. 如何将pdf转换成excel,pdf转excel操作步骤详解: 1.在迅捷pdf转换器的界面当中选择"文件转excel",之前我们在很多的文章中

强大的PDF转换控件ActivePDF WebGrabber

ActivePDF WebGrabber控件是一款功能强大的PDF转换控件,可以把HTML或者URL转换为PDF,利用强健的页面布局控件,全面支持Flash转换,产生安全的.可打印的PDF文件. 具体功能: 动态HTML到PDF转换 无论是来自任意源的HTML文档,无论是CGI脚本文件,Asp.Jsp或者无格式HTML文件,activePDF WebGrabber都可以进行PDF转换,没有任何区别.通过activePDF WebGrabber,您可以加载URL地址.本地磁盘甚至是内存中的HTML

数据格式转换(一)PDF转换技术

PDF(Portable Document Format)文件格式是Adobe公司开发的电子文件格式.这种文件格式与操作系统平台无关,这一特点使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式.越来越多的电子图书.产品说明.公司文告.网络资料.电子邮件开始使用PDF格式文件.PDF格式文件目前已成为数字化信息事实上的一个工业标准. PDF具有许多其他电子文档格式无法相比的优点.PDF文件格式可以将文字.字型.格式.颜色及独立于设备和分辨率的图形图像等封装在一个文件中.该格

pdf转换器手机版如何将pdf转换成word

pdf转换器如何将pdf转换成word,难吗?--不难! pdf转换器手机版如何将pdf转换成word,难吗?--难! 下面就让大家看一下,小编是如何在手机上将pdf转换成word的! 工具/原料 手机(建议连接wifi) pdf文件 方法/步骤 1.打开手机上的浏览器,找到"百度",点击进入百度搜索页面: 2.在搜索框中输入"pdf转word在线",再点击"百度一下": 3.展现出比较多的页面,点击其中任意一个进入转换界面: 4.默认就是&qu