java实现libreoffice+swftools+flexpaper在线预览

主要参考资料

环境搭建

  • 搭建java环境
sudo apt-get install default-jre
  • libreoffice系统自带
  • swftools工具
    将pdf转换成swf
    在 Ubuntu 12.04/11.10 通过 PPA 安装 SWFTools
    具体如下:
sudo add-apt-repository ppa:guilhem-fr/swftools
sudo apt-get update
sudo apt-get install swftools

pdf2swf指令生效即安装成功
执行sudo add-apt-repository ppa:guilhem-fr/swftools时,可能会有问题,add-apt-repositor 不是內建的,安装方法:

sudo apt-get install python-software-properties

如果是Ubuntu 14.04及以后版本,还需要安装以下套件:

$ sudo apt-get install software-properties-common 
  • FlexPaper
    将flexpaper文件中的js文件夹(包含了flexpaper_flash_debug.js,flexpaper_flash.js,jquery.js,这三个js文件主要是预览swf文件的插件)拷贝至网站根目录;
    将FlexPaperViewer.swf拷贝至网站根目录下(该文件主要是用在网页中播放swf文件的播放器)
  • JODConverter
    JODConverter一个Java的OpenDocument 文件转换器,在此我们只用到它的jar包

代码部署

  • 创建fileUpload.jsp
  • 创建转换页docUploadConvertAction.jsp
    用到了DocConverter.class,应将其放在 *./WEB-INF/classes/com/pdfPreview/util *目录下,引用方式为:
<%@page import="com.pdfPreview.util.DocConverter"%>
  • 创建查看页documentView.jsp
  • 创建转换类DocConverter.java

注意事项

  • DocConverter.java中选择环境,Linux或者Windows
  • 编译DocConventer.java时,用到JODconverter的jar包
javac -classpath WEB-INF/lib/jodconverter-2.2.2.jar WEB-INF/classes/com/pdfPreview/util/DocConverter.java

编译后,会重新生成DocConverter.class

  • vnc登录到libreoffice时,总是断开,并且word转pdf时,显示方块字,经检查,解决的办法是:
    将/etc/default/locale文件改为:
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:en_US:en"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"

此问题解决感谢

  • 文件名必须为英文,否则出错

其他参考资料

libreoffice 解决中文乱码
仿百度文库解决方案(一)——总体思路
Java error: Only a type can be imported. XYZ resolves to a package
package does not exist error!

你可能感兴趣的:(java实现libreoffice+swftools+flexpaper在线预览)