在Ubuntu环境把PPT和Word转换为swf文件

项目需要一个在线浏览文档的功能,于是参照网上的代码写了一份利用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.0.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.2.tar.gz
cd swftools-0.9.2/
./configuremake
sudo make install
sudo apt-get install xpdf

3. 打包转换代码并上传

https://github.com/hivsuper/converter

4. 编写启动脚本

#! /bin/sh
export JAVA_HOME=/opt/java/jdk1.7
export PATH=/opt/java/jdk1.7/bin
java -jar converter-0.0.1-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. 运行启动脚本发现一直报错,内容如下:

11:17:21.828 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - converting /home/test/pptTest1.pdf to /home/test/pptTest1.swf
11:17:21.962 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - ERROR   Couldn‘t open "/home/test/pptTest1.pdf"
11:17:21.963 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFileCC‘ (/usr/share/xpdf/xpdfrc-chinese-simplified:8)
11:17:21.963 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFileCC‘ (/usr/share/xpdf/xpdfrc-chinese-traditional:7)
11:17:21.963 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFileCC‘ (/usr/share/xpdf/xpdfrc-japanese:8)
11:17:21.963 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:9)
11:17:21.965 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:10)
11:17:21.965 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:11)
11:17:21.965 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:12)
11:17:21.965 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:13)
11:17:21.965 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:14)
11:17:21.965 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:15)
11:17:21.966 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:16)
11:17:21.967 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:17)
11:17:21.967 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:18)
11:17:21.967 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:19)
11:17:21.967 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:20)
11:17:21.974 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:21)
11:17:21.975 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:22)
11:17:21.981 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:23)
11:17:21.982 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:24)
11:17:21.982 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:25)
11:17:21.989 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:26)
11:17:21.990 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:27)
11:17:21.990 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:28)
11:17:21.991 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:29)
11:17:21.991 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:30)
11:17:21.991 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:31)
11:17:21.992 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:32)
11:17:21.992 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:33)
11:17:21.994 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:34)
11:17:21.997 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:35)
11:17:21.998 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFile‘ (/usr/share/xpdf/xpdfrc-japanese:36)
11:17:21.999 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFontCC‘ (/usr/share/xpdf/xpdfrc-japanese:38)
11:17:21.999 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFontCC‘ (/usr/share/xpdf/xpdfrc-japanese:39)
11:17:22.000 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:40)
11:17:22.000 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:41)
11:17:22.000 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:42)
11:17:22.005 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:43)
11:17:22.005 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:44)
11:17:22.006 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:45)
11:17:22.008 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:46)
11:17:22.017 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:47)
11:17:22.017 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:48)
11:17:22.018 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:49)
11:17:22.018 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:50)
11:17:22.021 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:51)
11:17:22.025 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:52)
11:17:22.037 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:53)
11:17:22.038 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:54)
11:17:22.038 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:55)
11:17:22.039 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:56)
11:17:22.040 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:57)
11:17:22.045 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:58)
11:17:22.045 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:59)
11:17:22.046 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:60)
11:17:22.046 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:61)
11:17:22.047 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:62)
11:17:22.047 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:63)
11:17:22.047 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:64)
11:17:22.048 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:65)
11:17:22.064 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:66)
11:17:22.064 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:67)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:68)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:69)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:70)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:71)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:72)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:73)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:74)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:75)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘psResidentFont16‘ (/usr/share/xpdf/xpdfrc-japanese:76)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFileCC‘ (/usr/share/xpdf/xpdfrc-korean:6)
11:17:22.069 [main] INFO  o.l.c.impl.SWFToolsSWFConverter - Error: Unknown config file command ‘fontFileCC‘ (/usr/share/xpdf/xpdfrc-korean:7)

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

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

#----- begin Chinese Simplified support package (2010-Apr-15)
cidToUnicode    Adobe-GB1       /usr/share/poppler/cidToUnicode/Adobe-GB1
unicodeMap      ISO-2022-CN     /usr/share/poppler/unicodeMap/ISO-2022-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
时间: 2024-10-12 14:10:26

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

swftools工具将pdf文件转换为swf文件

开发客户网站时遇到了一个需求,客户要求后台上传pdf文件,前台能以翻书的形式直接访问. 首先想到的是使用js解决,用户访问前端页面时,php将文件路径发送给js,让js呈现出来翻书的效果.在网上百度了一圈也没有找到现成的插件. 于是由某人提供的flash完成,这时就需要将客户在后台上传的pdf文件转换为swf文件才能通过某人提供的flash呈现出来,而且需要pdf的每一页生成一个swf文件,才能出现翻书的效果.这时又由某人提供说,swftools可以完成这个需求,于是迅速百度. swftools

SWFTools PDF转换为SWF

前言 在iText 制作PDF这篇博文中只是简单的介绍了如何制作PDF,为了能让PDF在Web页面中显示,我还需要通过SWFTools工具将PDF文件转换为SWF文件,然后通过SWF文件显示在Web网页中,本次主要是实践SWFTools工具的简单使用,可以在http://www.swftools.org/download.html网页中下载工具,并安装.但是要注意下载的版本,我是在Win7系统下开发的,所以安装的工具就是如下图所示 安装完成后会生成pdf2swf.exe.并预先在PDF文件夹添加

使用poi将word转换为html

使用poi将word转换为html,支持doc,docx,转换后可以保持图片.样式 需要的jar包: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apac

Ubuntu环境下SSH的安装及使用

Ubuntu环境下SSH的安装及使用 SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通过SSH访问远程服务器 .SSH的简介和工作机制可参看上篇文章SSH简介及工作机制. SSH分客户端openssh-client和openssh-server 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudoapt-get install openssh-client),如果要使本机开放SSH服务就需要安装ope

ubuntu环境配置之vi 配置【转载】

ubuntu环境配置之vi 配置 [日期:2014-02-10] 来源:Linux社区  作者:zhonghe1114 [字体:大 中 小] Android的源码开发,几乎离不开Linux,Linux系统当然首推Ubuntu了,linux自带的编辑工具VI,相信用过的人都知道它的强大之处了,但是,系统自带的vi,功能比较有限,用起来当然不怎么方便,所以我们需要对它进行优化配置.1.安装增强版vi:sudo apt-get install vim2.做一个软链接:sudo ln -sf /usr/

解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换

一.Qt环境设置 文件从window上传到Ubuntu后会显示乱码,原因是因为ubuntu环境设置默认是utf-8,Windows默认都是GBK.Windows环境下,Qt Creator,菜单->工具->选项->文本编辑器->行为->文件编码:默认编码:System(简体中文windows系统默认指的是GBK编码,即下拉框选项里的GBK/windows-936-2000/CP936/MS936/windows-936) 二.编码知识科普Qt常见的两种编码是:UTF-8和GB

RabbitMQ学习(七)Ubuntu环境安装与.NET客户端测试

1.下载RabbitMQ Server安装包 Ubuntu环境下的安装包rabbitmq-server_3.3.5-1_all.deb的下载地址在这里:http://www.rabbitmq.com/install-debian.html Ubuntu自9.04版本之后默认会安装RabbitMQ,但是版本会较老,所以我们需要安装上面的最新的安装包. 下载后直接双击安装即可,Erlang环境都是有的. 安装好了之后启动命令是: invoke-rc.d rabbitmq-server start 停

Java Ubuntu环境变量

转贴http://blog.csdn.net/rflyee/article/details/8989663 ubuntu下JDK配置本质上和win是一样的: 1.去官网下载JDK7,找jdk-7u21-linux-i586.tar.gz并下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 2.解压后得到名字为jdk1.7.0_21的文件夹,将其复制到 /usr/lib/jvm

Ubuntu环境下的Redis 配置与C++使用入门

  Redis是一个高性能的key-value数据库. Redisedis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用.它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便. 本文将通过介绍Ubuntu环境下的Redis 配置,介绍C++入门使用的方式,帮助读者快速上手Redis. 安装配置 获取源码.解压.进入源码目录,编译