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的图形工具()把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的信任,这时你可以前住/support/documentation/en/flashplayer/help/settings_manager04a.html#119065 为FlexPaper添加信任.进入网页之后 ,点击左边的 Global Security Settings papel 这个选项,然后在右边
为你的例子所在的文件夹添加信任。然后你再运行官方的例子,就会发现可以运行成功啦。
 (2)Flexpaper的用法
 我们可以查看index.html源代码,这里不多说,直接说它的用法吧:
 在前端的用法如下:
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',   
                        { config : {
                        SwfFile : escape('ajax.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调用把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].toLowerCase(); 
12.         try
13.             File file = new File(fileName); 
14.             if(!ists()){//判断源文件是否存在 
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, swftoolsPath.length()).equals("//")){ 
22.                     swftoolsPath = swftoolsPath+"//";    //在目录后加 "/" 
23.                 } 
24.                 if(!destPath.substring(destPath.length()-1, destPath.length()).equals("//")){ 
25.                     destPath = destPath+"//";    //在目录后加 "/" 
26.                 } 
27.                 File destFile = new File(destPath); 
28.                 if(!ists()){//目标文件路径如果不存在,则创建目录 
29.                     destFile.mkdirs(); 
30.                 } 
31.                 destName =&Name().substring(0,&Name().length()-4)+".swf";//目标文件名称 
32.                 command.append(swftoolsPath).append(" ").append(fileName).append(" -o ").append(destPath).append(destName); 

本文发布于:2024-09-21 00:50:05,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/101932.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   路径   命令行   例子   运行   加载
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议