【OpenOffice+swftools】在线预览环境的搭建和xpdf中文包的配置
【环境参数】
Host:Win7 64bit
VMware:VMware Workstation11.1.0
Client OS:CentOS release 6.5 (Final) 2.6.32-431.el6.x86_64
Third-Party Software:
①Apache_OpenOffice_4.1.1_Linux_x86-64_install-rpm_zh-CN.tar
②swftools-2013-04-09-1007.tar.gz
③xpdf-chinese-simplified.tar.gz
【下载链接】
(1)OpenOffice的下载链接
官网链接:http://download.openoffice.org/all_rc.html#untested-full
云盘连接:http://pan.baidu.com/s/1qWopNAk
(2) swftools的
官网链接:http://www.swftools.org/download.html
云盘连接:http://pan.baidu.com/s/1pJMhOZx
(3)xpdf-chinese-simplified.tar.gz的云盘连接:http://pan.baidu.com/s/1dndgi
(在解压后的Cmap目录中,已包含gkai00mp.ttf和gbsn00lp.ttf字体文件)
【简述】
最近公司要求实现一个类似豆丁网、百度文库这样的在线预览的功能,需要用到两个软件swftools和openOffice,两个软件win平台运行正常,公司linux服务器运行遇到一些麻烦,下面我把linux平台安装顺序记录下来以做以后参考也分享给大家。
【安装描述】
一、安装Open Office
1 解压 tar -zxvf Apache_OpenOffice_4.1.1_Linux_x86-64_install-rpm_zh-CN.tar.gz
2 解压后进入到解压出来的文件下 里面有3个文件夹和1个文件:分别是licenses readmes RPMS 文件夹 和update文件
3 进入到RPMS 文件夹下 输入命令 rpm -ivh *.rpm 开始安装 (因为RPMS 文件夹下有很多rpm包)用这条命令就能安装所有的
4 安装完后 进入到RPMS 文件夹下的desktop-integration文件夹 desktop-integration夹里有4个rpm包 分别是四个不同发行版的linux,选择相应发行版本那个rpm包,用 rpm 命令进行安装。
二、启动openOffice服务
在Linux环境中,启动openoffice的服务。
[root@zjHost bin]# /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
注意:确保每次进行在线浏览之前,Open Office的服务已经启动了,否则,将无法进行在线预览。
三、swftools的编译安装和配置。
1、安装所需的库和依赖组件。
主要安装的是下面几个组件。
yum install gcc* automake zlib-devel libjpeg-devel giflib-devel freetype-devel
2、下载编译安装swftools。
tar -zxvd swftools-2013-04-09-1007.tar.gz
cd swftools-2013-04-09-1007
./configure --prefix=/application/swftools_20130409_soft
make
make install
3、设置swftools环境变量,使pdf2swf成为一个可执行命令
[root@zjHost bin]# vim /etc/profile
export JAVA_HOME=/application/jdk1.7.0_45
export SWF_TOOLS_HOME=/application/swftools_20130409_soft
export PATH=.:/application/mysql/bin:$SWF_TOOLS_HOME/bin:$JAVA_HOME/bin:$PAT
4、刷新profile,使得新配置的环境变量生效。
[root@zjHost bin]# vim /etc/profile
四、安装和配置xpdf语言包
1、下载xpdf-chinese-simplified.tar.gz文件,解压到/usr/local/share下
解压之后,xpdf的语言包为:/usr/local/share/xpdf-chinese-simplified
2、编辑add-to-xpdfrc文件,如下:
[root@zjHost share]# vim /usr/local/share/xpdf-chinese-simplified/add-to-xpdfrc
内容如下所示:
#----- begin Chinese Simplified support package (2011-sep-02)
cidToUnicode Adobe-GB1 /usr/local/share/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN /usr/local/share/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap EUC-CN /usr/local/share/xpdf-chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK /usr/local/share/xpdf-chinese-simplified/GBK.unicodeMap
cMapDir Adobe-GB1 /usr/local/share/xpdf-chinese-simplified/CMap
toUnicodeDir /usr/local/share/xpdf-chinese-simplified/CMap
displayCIDFontTT Adobe-GB1 /usr/local/share/xpdf-chinese-simplified/CMap/gbsn00lp.ttf
displayCIDFontTT Adobe-GB1 /usr/local/share/xpdf-chinese-simplified/CMap/gkai00mp.ttf
#----- end Chinese Simplified support package
注意:
(1)路径要配置正确
(2)要注意最后两行的配置
字体文件自己下载…
字体文件来源:直接将windows系统的相关字体复制到linux字体目录下,windows字体目录 c:\windows\fonts,linux字体目录 /usr/share/fonts
3、最后使用如下转换命令测试:
pdf2swf -s languagedir=/usr/local/share/xpdf-chinese-simplified/ -T 9 -s poly2bitmap -s zoom=150 -s flashversion=9 "/opt/123.pdf" -o "/opt/test/%.swf"
五、在Java程序中调用pdf2swf时的代码
Process p = r.exec("pdf2swf -s languagedir=/usr/local/share/xpdf-chinese-simplified -T 9 "+ pdfFile.getPath() +" -o "+swfFile.getPath());
注意:一定要带上“-s languagedir=....”这个参数,否则,就无法解析中文。
【OpenOffice+swftools】在线预览环境的搭建和xpdf中文包的配置的更多相关文章
- 文档在线预览开源实现方案一:OpenOffice + SwfTools + FlexPaper
在文档在线预览方面,项目组之前使用的是Microsoft office web apps, 由于该方案需要按照微软License付费,项目经理要我预研一个文档在线预览的开源实现方案.仔细钻入该需求发现 ...
- java实现word转pdf在线预览(前端使用PDF.js;后端使用openoffice、aspose)
背景 之前一直是用户点击下载word文件到本地,然后使用office或者wps打开.需求优化,要实现可以直接在线预览,无需下载到本地然后再打开. 随后开始上网找资料,网上资料一大堆,方案也各有不同,大 ...
- Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现
笔者最近在给客户开发文档管理系统时,客户要求上传到管理系统的文档(包括ppt,word,excel,txt)只能预览不允许下载.笔者想到了百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash ...
- Java+FlexPaper+swfTools 文档在线预览demo
1.概述 主要原理 1.通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件 2.通过swfTools将pdf文件转换成swf格式的文件 3.通过FlexP ...
- 使用jodconverter和swftools实现文件在线预览
参考:仿百度文库解决方案(四)——利用JODConverter调用OpenOffice.org服务转换文档为PDF 文档在线预览主要用到如下两个工具 1,安装openoffice(同时下载jodcon ...
- SpringBoot-文件在线预览解决方案-基于OpenOffice及jacob
项目中有一个需求:实现文件(主要是Office文件)的在线预览,根据前端需求,Office文件需要转换成pdf或者html方可在浏览器中打开预览,那么后端需要将文件转为pdf/格式返回地址给前端.目前 ...
- Java通过openOffice实现word,excel,ppt转成pdf实现在线预览
Java通过openOffice实现word,excel,ppt转成pdf实现在线预览 一.OpenOffice 1.1 下载地址 1.2 JodConverter 1.3 新建实体类PDFDemo ...
- 文档在线预览开源实现方案二:OpenOffice + pdf.js
文档在线预览的另一种实现方式采用的技术栈是OpenOffice + pdf.js, office文档转换为pdf的工作依然由OpenOffice的服务来完成,pdf生成后我们不再将其转换为其他文件而是 ...
- [Asp.net]使用flexpaper+swftools大文件分页转换实现在线预览
引言 之前总结了在线预览几种常见解决方案,可以戳这里: http://www.cnblogs.com/wolf-sun/p/3569960.html http://www.cnblogs.com/wo ...
随机推荐
- Windows 桌面软件:不绑定bing搜索的缤纷桌面
bing:世界上最好的壁纸提供商 ^.^一直垂涎着Bing的壁纸,总是想找机会来一番邂逅. 之前使用bing自家的缤纷桌面.这个软件缺点就是和bing搜索绑定太厉害,放在桌面上感觉那个黑色的条框很碍 ...
- Qt之重启应用程序
简介 今天分享的内容有些意思-如何重启一个应用程序.其实,有时候这是一个很重要的功能点,而且很人性化.易用性很好. 例如:切换用户.当某个用户登录成功之后,需要切换到其它账号,那么这时,你就知道它的重 ...
- HDU (线段树 单点更新) I Hate It
和上一道题没什么变化,只不过把单点增减变成了单点替换,把区间求和变成了区间求最大值. #include <cstdio> #include <algorithm> using ...
- highCharts图表应用-实现多种图表的显示
在数据统计和分析业务中,有时需要在一个图表中将柱状图.饼状图.曲线图的都体现出来,即可以从柱状图中看出具体数据.又能从曲线图中看出变化趋势,还能从饼状图中看出各部分数据比重.highCharts可以轻 ...
- BZOJ 1078 斜堆
感谢MATO大神的博客 http://www.cppblog.com/MatoNo1/archive/2013/03/03/192131.html 注意细节. #include<iostream ...
- UVA 489 Hangman Judge (字符匹配)
题意:给一个字符串A,只含小写字符数个.再给一个字符串B,含小写字符数个.规则如下: 1.字符串B从左至右逐个字符遍历,对于每个字符,如果该字符在A中存在,将A中所有该字符删掉,若不存在,则错误次数+ ...
- qt多文档
http://blog.csdn.net/siren0203/article/details/5661541
- *ecshop 首页促销价显示倒计时
1.打开includes/lib_goods.php 找到 get_promote_goods()函数部 在(注意:位置别找错了,大概在394行位置) $goods[$idx]['url'] = bu ...
- 2015-10-15 晴 APUE GIT
昨天看完了tcp/ip协议,快速的看完了这些内容,而且这里面的东西以前很熟悉,今天只是大概一看就想起以前用到的,什么时候用到的,以前在企智通上出过什么问题,后来如何解决的.我都有点佩服我的记忆.网络协 ...
- javamail模拟邮箱功能发送电子邮件-基础实战篇(javamail API电子邮件实例)
引言: JavaMail 是一种可选的.能用于读取.编写和发送电子消息的包 JavaMail jar包下载地址:http://java.sun.com/products/javamail/downlo ...