OpenOffice+JodConverter实现Office文件到PDF的转换

工具 同时被 2 个专栏收录
118 篇文章 3 订阅
126 篇文章 130 订阅

OpenOffice简介

OpenOffice自从2002年发布第一个版本1.0.1以来已经过去了15个年头,在2011年移转至ASF,更在2012年底正式成为Apache顶级项目之一。而OpenOffice.org的名头也转换为了Apache OpenOffice。 作为Office工具的翻版,OpenOffice在文本文档、电子表格、演示文稿、绘图、数据库也是功能完备,而基于Apache2.0发布的OpenOffice可以完全自由使用而无需付出任何费用,至今也已经在公共事业/教育/非盈利事业/商业等较为广泛地使用。这篇文章将会重点介绍如何使用OpenOffice和JodConvert将既有的各种Office文件转换为Pdf文件以方便统一预览。

事前准备

OpenOffice可以在多种平台上运行,同时需要JRE运行环境。本文在CentOS上安装了JDK1.8以及Xwindow

[root@liumiaocn ~]# yum groupinstall “X Window System”

项目详细
OSCentOS7
JDK1.8:https://github.com/liumiaocn/easypack/blob/master/maven/easypack_jdk
X Windowyum groupinstall “X Window System”
[root@liumiaocn ~]# uname -a
Linux liumiaocn 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@liumiaocn ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@liumiaocn ~]#

下载

下载中文版的64位linux上运行安装的Apache OpenOffice的RPM安装包,也可以根据需要自行选择。

项目详细
下载地址http://www.openoffice.org/zh-cn/download/
当前最新版本4.1.3
下载文件名称Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz

安装

下载&解压

[root@liumiaocn ~]# cd /tmp/openoffice/
[root@liumiaocn openoffice]# ls
Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz
[root@liumiaocn openoffice]# tar xvpf Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz 
zh-CN/
...
zh-CN/RPMS/openoffice-graphicfilter-4.1.3-9783.x86_64.rpm
...
zh-CN/readmes/README_zh-CN.html
[root@liumiaocn openoffice]# ls
Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN.tar.gz  zh-CN
[root@liumiaocn openoffice]#

安装

[root@liumiaocn openoffice]# cd zh-CN/RPMS/
[root@liumiaocn RPMS]# rpm -ivh *.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:openoffice-ure-4.1.3-9783        ################################# [  2%]
   2:openoffice-core01-4.1.3-9783     ################################# [  5%]
   3:openoffice-zh-CN-4.1.3-9783      ################################# [  7%]
   4:openoffice-impress-4.1.3-9783    ################################# [ 10%]
   5:openoffice-zh-CN-base-4.1.3-9783 ################################# [ 12%]
   6:openoffice-zh-CN-calc-4.1.3-9783 ################################# [ 15%]
   7:openoffice-zh-CN-draw-4.1.3-9783 ################################# [ 17%]
   8:openoffice-zh-CN-help-4.1.3-9783 ################################# [ 20%]
   9:openoffice-zh-CN-impress-4.1.3-97################################# [ 22%]
  10:openoffice-zh-CN-math-4.1.3-9783 ################################# [ 24%]
  11:openoffice-zh-CN-res-4.1.3-9783  ################################# [ 27%]
  12:openoffice-zh-CN-writer-4.1.3-978################################# [ 29%]
  13:openoffice-base-4.1.3-9783       ################################# [ 32%]
  14:openoffice-calc-4.1.3-9783       ################################# [ 34%]
  15:openoffice-core02-4.1.3-9783     ################################# [ 37%]
  16:openoffice-core03-4.1.3-9783     ################################# [ 39%]
  17:openoffice-core04-4.1.3-9783     ################################# [ 41%]
  18:openoffice-core05-4.1.3-9783     ################################# [ 44%]
  19:openoffice-core06-4.1.3-9783     ################################# [ 46%]
  20:openoffice-core07-4.1.3-9783     ################################# [ 49%]
  21:openoffice-draw-4.1.3-9783       ################################# [ 51%]
  22:openoffice-images-4.1.3-9783     ################################# [ 54%]
  23:openoffice-4.1.3-9783            ################################# [ 56%]
  24:openoffice-math-4.1.3-9783       ################################# [ 59%]
  25:openoffice-writer-4.1.3-9783     ################################# [ 61%]
  26:openoffice-brand-writer-4.1.3-978################################# [ 63%]
  27:openoffice-brand-math-4.1.3-9783 ################################# [ 66%]
  28:openoffice-brand-base-4.1.3-9783 ################################# [ 68%]
  29:openoffice-brand-calc-4.1.3-9783 ################################# [ 71%]
  30:openoffice-brand-draw-4.1.3-9783 ################################# [ 73%]
  31:openoffice-brand-impress-4.1.3-97################################# [ 76%]
  32:openoffice-brand-zh-CN-4.1.3-9783################################# [ 78%]
  33:openoffice-ogltrans-4.1.3-9783   ################################# [ 80%]
  34:openoffice-gnome-integration-4.1.################################# [ 83%]
  35:openoffice-graphicfilter-4.1.3-97################################# [ 85%]
  36:openoffice-javafilter-4.1.3-9783 ################################# [ 88%]
  37:openoffice-onlineupdate-4.1.3-978################################# [ 90%]
  38:openoffice-ooofonts-4.1.3-9783   ################################# [ 93%]
  39:openoffice-ooolinguistic-4.1.3-97################################# [ 95%]
  40:openoffice-pyuno-4.1.3-9783      ################################# [ 98%]
  41:openoffice-xsltfilter-4.1.3-9783 ################################# [100%]
[root@liumiaocn RPMS]#

运行OpenOffice服务

[root@liumiaocn ~]# /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
[1] 2229
[root@liumiaocn ~]# ps -ef |grep soffice |grep -v grep
root       2229   2011  0 02:34 pts/2    00:00:00 /bin/sh /opt/openoffice4/program/soffice -headless -accept=socket,host=127.0.0.1,port=8100;urp; -nofirststartwizard
root       2238   2229  1 02:34 pts/2    00:00:00 /opt/openoffice4/program/soffice.bin -headless -accept=socket,host=127.0.0.1,port=8100;urp; -nofirststartwizard
[root@liumiaocn ~]#

JodConverter

JodConverter是一款利用OpenOffice进行转化的工具,可以在Office文件和OpenOffice文件之间进行转换,同时也可以将Office或者OpenOffice系列文件转化位PDF,最新版本是2.2.2。

项目详细
下载地址https://sourceforge.net/projects/jodconverter/files/JODConverter/2.2.2/
当前最新版本2.2.2
下载文件名称jodconverter-2.2.2.zip
URLhttps://sourceforge.net/projects/jodconverter/files/JODConverter/2.2.2/jodconverter-2.2.2.zip/download

将此zip包解压至/opt得到如下结构:

[root@liumiaocn ~]# ls /opt/jodconverter-2.2.2/
ChangeLog.txt  docs  document-formats.xml  lib  LICENSE.txt  README.txt  src
[root@liumiaocn ~]# 

转化

jod可以用来将Office系列文件转换为PDF,以下以ppt文件为例,进行转化。

项目详细
待转化文件/tmp/aaa.pptx
转化对象文件/tmp/aaa.pdf
转化命令java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /tmp/aaa.pptx /tmp/aaa.pdf
[root@liumiaocn tmp]# java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /tmp/aaa.pptx /tmp/aaa.pdf
Jun 20, 2017 2:53:35 AM com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection connect
INFO: connected
Jun 20, 2017 2:53:41 AM com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection disposing
INFO: disconnected
[root@liumiaocn tmp]# 

问题点

预览的时候由于字体的问题,显示为乱码或者占位符的情况很多。这种情况下一般将字体文件拷贝到openoffice目录下(本文的情况:/opt/openoffice4/share/fonts/truetype),然后再重启openoffice服务之后再次转化即可。

总结

OpenOffice作为Apache下的顶级项目,还是值得使用的。但是JodConverter自从2009年之后就不再更新,只能说在免费可用的产品中暂定可用的一个简单解决方案进行预览前转换,统一显示。

  • 0
    点赞
  • 5
    评论
  • 3
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 5 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

淼叔

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值