欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-07 12:21:21
java仿文库的基本方法 基本步骤:     1、将要展示的office文件 转换成 pdf,  使用工具 openoffice...

java仿文库的基本方法

基本步骤:

    1、将要展示的office文件 转换成 pdf,  使用工具 openoffice 

    2、将pdf文件转换成swf ,实用工具swftools

    3、使用flexpaper,显示转换后的swf文件。

基础代码:没有任何校验

1、openoffice转换pdf

下载地址:

实用工具:  jodconverter-2.2.2   引入所需jar,直接将所有jar都扔进来了

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

首先、下载openoffice软件,并安装,使用dos命令开启服务,就是cmd了,我安装在了c盘

命令如下:执行效果

c:\program files (x86)\openoffice 4\program>soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 

启动后,执行以下命令    doc文件为原始文件,转换成pdf

file inputfile = new file("d:\\大数据及应用.doc"); 
 file outputfile = new file("d:\\大数据及应用.pdf"); 
 openofficeconnection connection = new socketopenofficeconnection( 
   "127.0.0.1", 8100); 
  connection.connect(); 
 
  // convert 
 documentconverter converter = new openofficedocumentconverter( 
   connection); 
 converter.convert(inputfile, outputfile); 
 
 // close the connection 
 connection.disconnect(); 

2、swftools将pdf转换swf

下载地址:

    首先安装swftools工具,我是windows 下载exe文件,直接安装,

    注:文件夹不要有空格,有空格不识别  如  program file  文件夹下 不好使

    我安装在了d盘根目录下,该方法来源于网络,资料找的太多不记得从哪位大侠哪拷来得了,

    还要注意下面代码被我改成windows的命令了,linux不生效。

public static int convertpdf2swf(string sourcepath, string destpath, string filename) throws ioexception { 
  //目标路径不存在则建立目标路径  
  file dest = new file(destpath);  
  if (!dest.exists()) dest.mkdirs();    
  //源文件不存在则返回  
  file source = new file(sourcepath);  
  if (!source.exists()) return 0;    
  //调用pdf2swf命令进行转换  
  string command = "d:\\swftools\\pdf2swf.exe " + sourcepath + " -o " + destpath + filename + " -f -t 9 " ; 
  system.out.println(command); 
  process pro = runtime.getruntime().exec(command);    
  bufferedreader bufferedreader = new bufferedreader(new inputstreamreader(pro.getinputstream()));  
  while (bufferedreader.readline() != null);    
  try {   
  pro.waitfor();  
  } catch (interruptedexception e) {   
   // todo auto-generated catch block   
   e.printstacktrace();  
   }    
  return pro.exitvalue();   
  } 


4、flexpaper显示swf

    下载地址:http://static.devaldi.com/gpl/flexpaper_2.2.4.zip

    jsp代码如下

    该文件:flexpaperviewer.swf

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

body内如下  

 <div style="position:absolute;left:10px;top:10px;"> 
  <a id="viewerplaceholder" style="width:1260px;height:780px;display:block"></a>  
  <script type="text/javascript"> 
  var fp = new flexpaperviewer( 
    'flexpaperviewer', 
    'viewerplaceholder', <!--对应于a 标签的id--> 
    { config : { 
    swffile : decodeuri('aaa.swf'), <!--引入的swf文件,decodeuri 解决中文文件名问题--> 
    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: 'zh_cn' <!--改成这个显示中文--> 
    }}); 
  </script> 
 </div> 

执行效果:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。