Flexpaper开发指南

1.

 

主要思路:

 

文档(

Word

PPT

等)

----> 

转换为

pdf ----> 

转换为

SWF 

 

 

-----> 

使用

FlexPaper

在线浏览

 

第一步:文档

--->

转换为

pdf 

openoffice+jodconverter

openoffice

sun

公司自己用

Java

写的一套开源

office

软件,

openoffice

的缺点在于这个文件很大。

 

 

Flashpaper

实现,有绿色版,可通过命令行

CMD

调用。

 

第二步:

pdf-->

swf 

pdf2swf

pdf2swf

提供了命令行参数,我们可以通过

Java

Runtime

Process

调用

pdf2swf

提供的命令将

pdf

转为

swf. 

 

第三步就是显示了,通过

flexpaper

实现

 

2.

 

CMD

命令行中运行

SWFTools

文件夹名字带有空格

 

对于

 

-t ,-o 

这两个参数

,

就是对于源文件路径来输出文件路径的问题,

如果你的文件夹的名

字中有空格的话,是不能找到文件的。

 

比如说:要转换的

pdf

源文件在

 

E:\Program Files\SWFTools\

这个文件夹下,当我

这样写

 

-t E:\Program Files\SWFTools\ajax.pdf

 

或者是输出文件路径写成这样

 

- o E:\Program Files\SWFTools\ajax.swf 

 

这样都是不能成功的,

因为这里面有文件夹

名含有空格,在路径的前后加上又引号就能成功啦,如

 

 

 

-o "E:\Program Files\SWFTools\ajax.swf"

 

这样就

OK

3.

 

Flexpaper

不能加载

swf

文件

 

FlexPaper

加载

swf

时,一直处于等待状态,无法显示,检查

swf

的路径也没错,但就是

一直无法加载。这种情况,很有可能就是

.swf

文件的版本问题啦。我们运行

SWFTools

图形工具(

gpdf2swf.exe

)把

pdf

转换为

swf

,但是转换后的

swf

也不能被

Flexpaper

正常加载,确保路径没错的话,那就是版本的问题啦。查看转换时

swf

的版本,可以点击

 

Edit->Options->Viewer

 

解决方法

:

须把

pdf

转换为版本为

9

swf

才能让它在

Flexpaper

中显示。

那么如何转换

9

的呢?我自己是使用

cmd

命令行工具来手工转换的

.

只须在命令行添加

 "-s 

flashversion=9"

 

这句,就可以转换为

9

的版本啦

4.

 

运行官方的

DEMO

Flexpaper

的用法

 

 

打开刚刚下载好的

Flexpaper

文件夹,打开里面的例子

 

index.html, 

 

1

)运行官方的例子,不能加载任何的

.swf

(包括例子中的

swf

(

如果能正常显示的

话,请跳过这一步

运行官方例子的时起,连所带的

Paper.swf

都不能加载成功,只见到右上角的圈圈一直在

动,处于等待的状态。:

 

 

这种情况,是由于

Flexpaper

还没获得

Adobe Flash

的信任,这时你可以前住

http://www.macromedia.com/support/documentation/en/flashplayer/help/set

tings_manager04a.html#119065 

FlexPaper

添加信任

.

进入网页之后

 

,点击左边

 

Global Security Settings papel 

这个选项

,

然后在右边

 

为你的例子所在的文件夹添加信任。然后你再运行官方的例子,就会发现可以运行成功啦。

 

 (2)Flexpaper

的用法

 

 

我们可以查看

index.html

源代码,这里不多说,直接说它的用法吧

 

在前端的用法如下:

 

<!--

首先要引入

jquery

库及相关的

js-->

 

2

 <script type=

"text/javascript"

 src=

"js/jquery.js"

></script>

 

3

 <script type=

"text/javascript"

 src=

"js/flexpaper_flash.js"

></script>

 

4

 <script type=

"text/javascript"

 src=

"js/flexpaper_flash_debug.js"

></script> 

 

html

中的代码

,

只需声明一个

a

标签即可

 

 <body>  

        <div style=

"position:absolute;left:10px;top:10px;"

            <a id=

"viewerPlaceHolder"

 

style=

"width:660px;height:480px;display:block"

></a>          

            <script type=

"text/javascript"

>  

                var fp = 

new

 FlexPaperViewer(     

                         

'FlexPaperViewer'

,  

                         

'viewerPlaceHolder'

,     <!--

对应于

标签的

id--> 

                         { config : { 

                         SwfFile : escape(

'ajax.swf'

),  <!--

这句是关键

: SwfFile: 

示导入的

.swf

的路径

--> 

                         Scale : 

0.6

,  

                         ZoomTransition : 

'easeOut'

                         ZoomTime : 

0.5

                         ZoomInterval : 

0.2

                         FitPageOnLoad : 

true

                         FitWidthOnLoad : 

false

                         PrintEnabled : 

true

                         FullScreenAsMaxWindow : 

false

                         ProgressiveLoading : 

false

                         MinZoomSize : 

0.2

                         MaxZoomSize : 

5

                         SearchMatchAll : 

false

                         InitViewMode : 

'Portrait'

                          

                         ViewModeToolsVisible : 

true

                         ZoomToolsVisible : 

true

                         NavToolsVisible : 

true

                         CursorToolsVisible : 

true

                         SearchToolsVisible : 

true,

 

                           localeChain: 

'en_US'

 

                         }}); 

            </script> 

        </div> 

</body> 

 

 

基本上,这样就可以在前端显示你的

Flexpaper

 

5.

 

利用

JAVA

调用

pdf2swf.exe

PDF

转化

pdf

swf 

[java:nogutter]

 

view plaincopy

 

1.

 

/**

 

 

2.

 

     * 

pdf

文件转化成

swf

文件

 

 

 

3.

 

     * @param fileName 

文件的绝对路径

 

 

4.

 

     * @param destPath 

目标路径

 

 

5.

 

     * @return -1

:源文件不存在

,-2:

格式不正确

,-3

:发生异常

,0:

转化成功

 

 

 

6.

 

     * @author fanglm created on Jul 9, 2010 1:13:04 PM

 

 

7.

 

     */

  

 

8.

 

    

public

 

static

 

int

 ConvertPdfToSwf(String fileName,String destPath){  

 

9.

 

        String destName = 

""

,fileExt = 

""

;  

 

10.

 

        StringBuffer command = 

new

 StringBuffer();  

 

11.

 

        fileExt = fileName.split(

"//."

)[fileName.split(

"//."

).length-

1

].toLo

werCase();  

 

12.

 

        

try

{  

 

13.

 

            File file = 

new

 File(fileName);  

 

14.

 

            

if

(!file.exists()){

//

判断源文件是否存在

  

 

15.

 

                

return

 -

1

;  

 

16.

 

            }

else

 

if

(!fileExt.equals(

"pdf"

)){

//

判断文件是否是

pdf

格式的文件

  

 

17.

 

                

return

 -

2

;  

 

18.

 

            }  

 

19.

 

            

else

{  

 

20.

 

                String swftoolsPath = 

"D://SWFTools"

;//

获取

pdf

swf

工具的路

  

 

21.

 

                

if

(!swftoolsPath.substring(swftoolsPath.length()-

1

, swftools

Path.length()).equals(

"//"

)){ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值