项目需要一个在线浏览文档的功能,于是参照网上的代码写了一份利用Microsoft Office 2010和swftools-2013-04-09-1007.exe转换的程序

思路:调用电脑本机的office组件把ppt或者word转换为pdf文件,接着调用pdf2swf应用把pdf文件转换为swf。

参考:http://www.cnblogs.com/luckyxiaoxuan/archive/2012/06/15/2550303.html

但由于目前项目组没有windows的服务器,于是想着试试能不能搭一个在linux上能跑的程序。首先尝试过最新的OpenOffice4,程序虽然能跑,但是却仍然无法支持数学公式的转换,于是转而使用LibreOffice,完美地解决了问题,以下为记录linux环境下的配置过程。

参考:https://zh-cn.libreoffice.org/get-help/install-howto/linux/

https://help.ubuntu.com/community/SWFTools

http://www.jianshu.com/p/9d0ffad58fed

0 环境

Java: "1.7.0_79"

OS: ubuntu-15.10-server-i386.iso

libreoffice: LibreOffice_5.0.6.3_Linux_x86_deb

swftools:swftools-0.9.2.tar.gz

1. ubuntu安装libreoffice

LibreOffice官网下载安装包LibreOffice_5.0.6_Linux_x86_deb.tar.gz并上传到ubuntu上,运行命令

tar -zxvf LibreOffice_5..6_Linux_x86_deb.tar.gz
sudo dpkg -i ./LibreOffice_5.0.6.3_Linux_x86_deb/DEBS/*.deb

最终的安装目录为 /opt/libreoffice5.0

2. ubuntu安装SWFTools

swftools下载swftools-0.9.2.tar.gz并上传到ubuntu上,运行命令

sudo apt-get install g++
sudo apt-get install libgif-dev xpdf libfreetype6 libfreetype6-dev libjpeg62 libjpeg8 libjpeg8-dev
tar -zxvf swftools-0.9..tar.gz
cd swftools-0.9./
./configure
make
sudo make install
sudo apt-get install xpdf

3. 打包转换代码并上传

https://github.com/hivsuper/converter

4. 编写启动脚本

#! /bin/sh
export JAVA_HOME=/opt/java/jdk1.
export PATH=/opt/java/jdk1./bin
java -jar converter-0.0.-SNAPSHOT.jar

遇到的问题:

a. 安装swftools时遇到`./configure`命令运行报错,最终发现是由于没有安装g++导致

b. 由于服务器系统为server版,故默认无桌面,虽然程序在windows系统跑没有问题,但一直报错

org.artofsolving.jodconverter.office.OfficeException: could not establish connection

最后安装了桌面程序再次运行,问题解决

sudo apt-get install ubuntu-desktop

c. 运行启动脚本发现一直报错,内容如下:

::21.828 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - converting /home/test/pptTest1.pdf to /home/test/pptTest1.swf
::21.962 [main] INFO o.l.c.impl.SWFToolsSWFConverter - ERROR Couldn't open "/home/test/pptTest1.pdf"
::21.963 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFileCC' (/usr/share/xpdf/xpdfrc-chinese-simplified:)
::21.963 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFileCC' (/usr/share/xpdf/xpdfrc-chinese-traditional:)
::21.963 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFileCC' (/usr/share/xpdf/xpdfrc-japanese:)
::21.963 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.965 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.965 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.965 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.965 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.965 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.965 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.966 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.967 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.967 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.967 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.967 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.974 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.975 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.981 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.982 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.982 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.989 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.990 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.990 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.991 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.991 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.991 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.992 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.992 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.994 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.997 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.998 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFile' (/usr/share/xpdf/xpdfrc-japanese:)
::21.999 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFontCC' (/usr/share/xpdf/xpdfrc-japanese:)
::21.999 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFontCC' (/usr/share/xpdf/xpdfrc-japanese:)
::22.000 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.000 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.000 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.005 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.005 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.006 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.008 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.017 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.017 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.018 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.018 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.021 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.025 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.037 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.038 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.038 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.039 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.040 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.045 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.045 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.046 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.046 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.047 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.047 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.047 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.048 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.064 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.064 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'psResidentFont16' (/usr/share/xpdf/xpdfrc-japanese:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFileCC' (/usr/share/xpdf/xpdfrc-korean:)
::22.069 [main] INFO o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command 'fontFileCC' (/usr/share/xpdf/xpdfrc-korean:)

未能找到完美的解决方案,暂时的解决方法是编辑相应文件并注释掉不能识别的命令,例如:

sudo vi /usr/share/xpdf/xpdfrc-chinese-simplified

#----- begin Chinese Simplified support package (-Apr-)
cidToUnicode Adobe-GB1 /usr/share/poppler/cidToUnicode/Adobe-GB1
unicodeMap ISO--CN /usr/share/poppler/unicodeMap/ISO--CN
unicodeMap EUC-CN /usr/share/poppler/unicodeMap/EUC-CN
unicodeMap GBK /usr/share/poppler/unicodeMap/GBK
cMapDir Adobe-GB1 /usr/share/poppler/cMap/Adobe-GB1
toUnicodeDir /usr/share/poppler/cMap/Adobe-GB1
#fontFileCC Adobe-GB1 /usr/share/fonts/truetype/wqy/wqy-zenhei.ttc
#----- end Chinese Simplified support package

在Ubuntu环境把PPT和Word转换为swf文件的更多相关文章

  1. Office系列---将Office文件(Word、PPT、Excel)转换为PDF文件,提取Office文件(Word、PPT)中的所有图片

    将Office文件转换为PDF文件,提取Office文件中的所有图片 1.Office系列---将Office文件(Word.PPT.Excel)转换为PDF文件 1.1 基于Office实现的解决方 ...

  2. Office系列(1)---将Office文件(Word、PPT、Excel)转换为PDF文件

    需求: 将Office文件作为文章并在网页上预览,主要为(Word.PPT.Excel)3种类型文件. 研究了一下,找到了两种解决方案 直接调用微软的在线预览功能实现(预览前提:预览资源必须可以直接通 ...

  3. 【Linux/Ubuntu学习8】unbuntu 下播放swf文件

    ubuntu是没有自带swf播放器的,需要自己安装. 这次介绍的这个播放器是gnome环境的. 安装: sudo apt-get install swfdec-gnome

  4. winform实现word转换为PDF(.doc)

    注意:实现word转换为PDF文件,本人安装Office为2013; word以后缀为.doc为例实现文件类型转换,具体方式如下所示: 实现步骤: 1.添加命名空间引用——using Microsof ...

  5. SWFTools PDF转换为SWF

    前言 在iText 制作PDF这篇博文中只是简单的介绍了如何制作PDF,为了能让PDF在Web页面中显示,我还需要通过SWFTools工具将PDF文件转换为SWF文件,然后通过SWF文件显示在Web网 ...

  6. excel,word,ppt,pdf,swf 文件互相转换

    转自:  http://www.cnblogs.com/wolf-sun/p/3569960.html 引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案 ...

  7. Word转换为图片PDF

    1.        Word转换为PDF,程序很多,但转换后的PDF,还可以复制,虽可以加密禁止复制,但市场上太多的PDF,还可以把PDF转换Word等其他格式,很容易被别人利用和剽窃,即便是PDF加 ...

  8. Ubuntu 环境 TensorFlow (最新版1.4) 源码编译、安装

    Ubuntu 环境 TensorFlow 源码编译安装 基于(Ubuntu 14.04LTS/Ubuntu 16.04LTS/) 一.编译环境 1) 安装 pip sudo apt-get insta ...

  9. Linux(Ubuntu)环境下使用Fiddler

    自己的开发环境是Ubuntu, 对于很多优秀的软件但是又没有Linux版本这件事,还是有点遗憾的.比如最近遇到一个问题,在分析某个网站的请求路径和cookie时就遇到了问题.本来Chome浏览器自带的 ...

随机推荐

  1. C函数

    求阶乘 int fac(int a) { int i; ;i>;i--) a*=i; return a; }

  2. slideDoor(学习某编程网站的,仅作记录和学习)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. [Android] keystore生成

    keytool -genkey -alias agg_keystore -keyalg RSA -validity 20000 -keystore agg.keystore keytool -expo ...

  4. json.stringfy()和json.parse()

    json.stringfy()将对象.数组转换成字符串:json.parse()将字符串转成json对象. json.stringfy(): 语法:  JSON.stringify(value [, ...

  5. WinForm中MouseEnter和MouseLeave混乱的问题

    MouseEnter+MouseLeave不行,我用了MouseMove+MouseLeave,效果一样 最近做个聊天的系统,仿照qq的界面设计,像qq聊天界面中字体.表情.截图等图片,鼠标放上去显示 ...

  6. (十二)select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

    select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset ...

  7. C# 基础知识总结

    要学好C#,基础知识的重要性不言而喻,现将常用到的一些基础进行总结,总结如下: 1. 数据类型转换: 强制类型转换(Chart--> int):  char cr='A';   int i = ...

  8. memset函数

    函数介绍 void *memset(void *s, int ch, size_t n); 函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 ...

  9. Vs2010在C#类文件头部添加文件注释的方法

    步骤: 1.VS2010 中找到(安装盘符以C盘为例) 32位操作系统路径:C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Item ...

  10. JavaWeb 自定义404页面

    本来,Tomcat中自定义404页面不过是在web.xml文件中写4行代码的事情. 直接引用 Tomcat官方FAQ 怎样自定义404页面? 编辑web.xml <error-page> ...