找回密码
 注册
首页 ≡≡职场生活≡≡ 业界资讯 Java仿文库的基本方法(openoffice+swftools+flexPaper ...

Java仿文库的基本方法(openoffice+swftools+flexPaper)

灰儿 2015-8-14 15:23:32
基本步骤:
    1、将要展示的office文件 转换成 PDF,  使用工具 openoffice  
    2、将PDF文件转换成swf ,实用工具swftools
    3、使用flexPaper,显示转换后的swf文件。
基础代码:没有任何校验
    1、openoffice转换pdf
     下载地址:https://www.openoffice.org/zh-cn/
      实用工具:  jodconverter-2.2.2   引入所需jar,直接将所有jar都扔进来了
      
     首先、下载openOffice软件,并安装,使用dos命令开启服务
     命令如下:
[size=1em]
[color=white !important][size=1em]?

[size=1em]1

[size=1em][size=1em]<span>我安装在了 </span>C:\Program Files (x86)  目录下





[size=1em]
[color=white !important][size=1em]?

[size=1em]1

[size=1em][size=1em]C:\Program Files (x86)\OpenOffice 4\program>soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard



    启动后,执行以下命令    doc文件为原始文件,转换成pdf
[size=1em]
[color=white !important][size=1em]?

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em][size=1em]File inputFile = new File("D:\\大数据及应用.doc");
[size=1em] File outputFile = new File("D:\\大数据及应用.pdf");
[size=1em] OpenOfficeConnection connection = new SocketOpenOfficeConnection(
[size=1em]                   "127.0.0.1", 8100);
[size=1em]           connection.connect();

[size=1em]           // convert
[size=1em] DocumentConverter converter = new OpenOfficeDocumentConverter(
[size=1em]                   connection);
[size=1em] converter.convert(inputFile, outputFile);

[size=1em] // close the connection
[size=1em] connection.disconnect();




    2、swftools将PDF转换swf
    首先安装swftools工具,我是windows 下载exe文件,直接安装,
    注:文件夹不要有空格,有空格不识别  如  program file  文件夹下 不好使
    我安装在了D盘根目录下,该方法来源于网络,资料找的太多不记得从哪位大侠哪拷来得了,
    还要注意下面代码被我改成windows的命令了,linux不生效。

[size=1em]
[color=white !important][size=1em]?

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17

[size=1em]18

[size=1em]19

[size=1em]20

[size=1em]21

[size=1em][size=1em]public static int convertPDF2SWF(String sourcePath, String destPath,    String fileName) throws IOException {
[size=1em]         //目标路径不存在则建立目标路径            
[size=1em]         File dest = new File(destPath);            
[size=1em]         if (!dest.exists()) dest.mkdirs();                          
[size=1em]         //源文件不存在则返回              
[size=1em]         File source = new File(sourcePath);            
[size=1em]         if (!source.exists()) return 0;                           
[size=1em]         //调用pdf2swf命令进行转换              
[size=1em]         String command = "D:\\SWFTools\\pdf2swf.exe " + sourcePath + " -o " + destPath  + fileName + " -f -T  9 " ;      
[size=1em]         System.out.println(command);
[size=1em]         Process pro = Runtime.getRuntime().exec(command);                           
[size=1em]         BufferedReader bufferedReader = new BufferedReader(new    InputStreamReader(pro.getInputStream()));              
[size=1em]         while (bufferedReader.readLine() != null);                           
[size=1em]         try {                  
[size=1em]             pro.waitFor();            
[size=1em]             } catch (InterruptedException e) {                  
[size=1em]                 // TODO Auto-generated catch block                 
[size=1em]                 e.printStackTrace();            
[size=1em]                 }                           
[size=1em]         return pro.exitValue();                     
[size=1em]         }






    4、flexPaper显示swf
    jsp代码如下
    该文件:FlexPaperViewer.swf

[size=1em]
[color=white !important][size=1em]?

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17

[size=1em]18

[size=1em]19

[size=1em]20

[size=1em]21

[size=1em]22

[size=1em]23

[size=1em]24

[size=1em]25

[size=1em]26

[size=1em]27

[size=1em]28

[size=1em]29

[size=1em]30

[size=1em]31

[size=1em]32

[size=1em]33

[size=1em]34

[size=1em]35

[size=1em]36

[size=1em]37

[size=1em]38

[size=1em][size=1em]<!--首先要引入jquery库及相关的js   下载包里面 找-->
[size=1em]<script type="text/javascript" src="js/jquery.js"></script>
[size=1em]<script type="text/javascript" src="js/flexpaper_flash.js"></script>
[size=1em]<script type="text/javascript" src="js/flexpaper_flash_debug.js"></script>


[size=1em]body内如下
[size=1em] <div style="position:absolute;left:10px;top:10px;">
[size=1em]            <a id="viewerPlaceHolder" style="width:1260px;height:780px;display:block"></a>         
[size=1em]            <script type="text/javascript">
[size=1em]                var fp = new FlexPaperViewer(   
[size=1em]                         'FlexPaperViewer',
[size=1em]                         'viewerPlaceHolder',     <!--对应于a 标签的id-->
[size=1em]                         { config : {
[size=1em]                         SwfFile :  decodeURI('aaa.swf'),  <!--引入的swf文件,decodeURI 解决中文文件名问题-->
[size=1em]                         Scale : 0.6,
[size=1em]                         ZoomTransition : 'easeOut',
[size=1em]                         ZoomTime : 0.5,
[size=1em]                         ZoomInterval : 0.2,
[size=1em]                         FitPageOnLoad : true,
[size=1em]                         FitWidthOnLoad : false,
[size=1em]                         PrintEnabled : true,
[size=1em]                         FullScreenAsMaxWindow : false,
[size=1em]                         ProgressiveLoading : false,
[size=1em]                         MinZoomSize : 0.2,
[size=1em]                         MaxZoomSize : 5,
[size=1em]                         SearchMatchAll : false,
[size=1em]                         InitViewMode : 'Portrait',
[size=1em]                          
[size=1em]                         ViewModeToolsVisible : true,
[size=1em]                         ZoomToolsVisible : true,
[size=1em]                         NavToolsVisible : true,
[size=1em]                         CursorToolsVisible : true,
[size=1em]                         SearchToolsVisible : true,
[size=1em]                         localeChain: 'zh_CN'   <!--改成这个显示中文-->
[size=1em]                         }});
[size=1em]            </script>
[size=1em]        </div>



执行效果


您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。