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

 更新时间:2017年02月04日 10:50:08   作者:Joker_Ye  
这篇文章主要为大家详细介绍了Java仿文库的基本方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Java仿文库的基本方法

基本步骤:

    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命令开启服务,就是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

下载地址:http://www.swftools.org/download.html

    首先安装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> 

执行效果:

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

相关文章

  • MyBatis中map的应用与模糊查询实现代码

    MyBatis中map的应用与模糊查询实现代码

    这篇文章主要介绍了MyBatis中map的应用与模糊查询实现代码,文中通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • SpringBoot整合阿里云视频点播的过程详解

    SpringBoot整合阿里云视频点播的过程详解

    视频点播(ApsaraVideo for VoD)是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速于一体的一站式音视频点播解决方案。这篇文章主要介绍了SpringBoot整合阿里云视频点播的详细过程,需要的朋友可以参考下
    2021-12-12
  • 因Spring AOP导致@Autowired依赖注入失败的解决方法

    因Spring AOP导致@Autowired依赖注入失败的解决方法

    这篇文章主要给大家介绍了因Spring AOP导致@Autowired依赖注入失败的解决方法,文中通过示例代码给大家介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-07-07
  • java中加密的实现方法(MD5,MD2,SHA)

    java中加密的实现方法(MD5,MD2,SHA)

    这篇文章主要介绍了java中加密的实现方法(MD5,MD2,SHA)的相关资料,这里提供三种实现加密的方法,大家可以对比一下,需要的朋友可以参考下
    2017-08-08
  • Spring中@Transactional(rollbackFor=Exception.class)属性用法介绍

    Spring中@Transactional(rollbackFor=Exception.class)属性用法介绍

    这篇文章介绍了Spring中@Transactional(rollbackFor=Exception.class)属性的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • Javaweb接收表单数据并处理中文乱码

    Javaweb接收表单数据并处理中文乱码

    这篇文章主要介绍了Javaweb接收表单数据并处理中文乱码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 浅析SpringBoot及环境搭建过程

    浅析SpringBoot及环境搭建过程

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.这篇文章主要介绍了SpringBoot介绍及环境搭建,需要的朋友可以参考下
    2018-01-01
  • SpringBoot使用RestTemplate的示例详解

    SpringBoot使用RestTemplate的示例详解

    RestTemplate继承自InterceptingHttpAccessor并且实现了RestOperations接口,其中RestOperations接口定义了基本的RESTful操作,这些操作在RestTemplate中都得到了实现,这篇文章主要介绍了SpringBoot使用RestTemplate,需要的朋友可以参考下
    2023-05-05
  • SQL返回Map集合或者对象的操作

    SQL返回Map集合或者对象的操作

    这篇文章主要介绍了SQL返回Map集合或者对象的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • JAVA加密算法实密钥一致协议代码示例

    JAVA加密算法实密钥一致协议代码示例

    这篇文章主要介绍了JAVA加密算法实密钥一致协议代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论