本文主要是介绍Flexpaper开发指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.
主要思路:
文档(
Word
,
PPT
等)
---->
转换为
pdf ---->
转换为
SWF
----->
使用
FlexPaper
在线浏览
第一步:文档
--->
转换为
用
openoffice+jodconverter
,
openoffice
是
sun
公司自己用
Java
写的一套开源
office
软件,
openoffice
的缺点在于这个文件很大。
用
Flashpaper
实现,有绿色版,可通过命令行
CMD
调用。
第二步:
pdf-->
转
swf
用
pdf2swf
,
pdf2swf
提供了命令行参数,我们可以通过
Java
的
Runtime
和
Process
调用
pdf2swf
提供的命令将
转为
swf.
第三步就是显示了,通过
flexpaper
实现
2.
CMD
命令行中运行
SWFTools
文件夹名字带有空格
对于
-t ,-o
这两个参数
,
就是对于源文件路径来输出文件路径的问题,
如果你的文件夹的名
字中有空格的话,是不能找到文件的。
比如说:要转换的
源文件在
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
)把
转换为
swf
,但是转换后的
swf
也不能被
Flexpaper
正常加载,确保路径没错的话,那就是版本的问题啦。查看转换时
swf
的版本,可以点击
Edit->Options->Viewer
。
解决方法
:
须把
转换为版本为
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'
, <!--
对应于
a
标签的
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
把
转化
为
swf
[java:nogutter]
view plaincopy
1.
/**
2.
*
将
文件转化成
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"
)){
//
判断文件是否是
格式的文件
17.
return
-
2
;
18.
}
19.
else
{
20.
String swftoolsPath =
"D://SWFTools"
;//
获取
转
swf
工具的路
径
21.
if
(!swftoolsPath.substring(swftoolsPath.length()-
1
, swftools
Path.length()).equals(
"//"
)){
这篇关于Flexpaper开发指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!