一、linux下安装OpenOffice

OpenOffice是Apache的一款开源的软件,我主要是用来转换office文档成pdf文件,并给其添加水印等。

(1)下载安装包

进入主题,首先我们需要下载OpenOffice的安装包,安装包分成windows系统、linux系统、32位、64位、rpm包、deb包,我是安装在linux下,我安装的linux是64位的,并且使用的redhat的CentOS,所以选择这个包

如果不知道是多少位的,命令输入 uname -p 如果是x86_64 那么就是64位,如果是i386 i686就是32位的

如果忘记了自己安装的版本,命令行输入 lsb_release -a 就可以看到,如果是CentOS,选择rpm,如果是Ubuntu,选择deb

如果想了解rpm和deb的请查看博客:https://blog.csdn.net/frank0712105003/article/details/8125662

我就以linux 64位 CentOS 为例安装OpenOffice。如果嫌下载慢,可以私聊我,或者在百度网盘下载:https://pan.baidu.com/s/1DHxyNM652A7ozL0vC7Iudw   提取码:8z7u

x86的是32位,x86_64是64位的,看好了下载

(2)解压并安装rpm

将下载好的安装包,我们正常都是放在/usr/local/目录下,可以自己建一个OpenOffice文件夹,输入命令:tar -zxvf Apache_OpenOffice_4.1.7_Linux_x86-64_install-rpm_z.gz ,解压完成进入zh-CN/RPMS 文件夹 ,安装解压出来的 rpm 包,输入命令 :rpm -ivh *.rpm,安装完成后的界面如图:

在进入desktop-integration文件夹,继续安装对应linux的rpm,我的linux是CentOS所以选择redhat的,输入命令:rpm -ivh openoffice4.1.7-redhat-menus-4.1.7-9800.noarch.rpm ,如图 :

安装完成如图:

(3)启动OpenOffic服务:

OpenOffice默认安装到opt文件夹下了,我默认了安装路径,所以启动命令是:
/opt/openoffice4/program/soffice -headless -accept="socket,host=虚拟机的地址,port=8100;urp;" -nofirststartwizard 临时启动
/opt/openoffice4/program/soffice -headless -accept="socket,host=虚拟机地址,port=8100;urp;" -nofirststartwizard & 后台启动
e

验证是否启动成功:

用netstat -lnp |grep soffice或者 ps -ef|grep soffice 查看启动状态,如下图所示表示启动成功。

我只是测试所以ip是127.0.0.1,表示只能本机调用,如果想在其他主机调用该linux下的OpenOffice,要设置在一个网段内,不然是无法访问到的,也就无法调用OpenOffice服务。

(4)启动OpenOffice可能出现的问题:

A.error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory
解决:这个是找不到libXext.so.6文件。去系统里面的/usr/lib64中或者/usr/lib,查看有没有这个文件,如果有就copy到/opt/openoffice4/program/目录里面,赋予chmod 777 libXext.so.6。
如果没有,需要安装:yum install libXext.x86_64(64位) (yum install libXext.i686 32位)。安装成功后,进入/usr/lib64中将libXext.so.6拷贝到/opt/openoffoce4/program中:cp libXext.so.6 /opt/openoffice4/program/,进入/opt/openoffice4/program/赋予权限。(这个是看一位大佬博客写的,我也忘记博客地址了,不好意思)

B.no suitable windowing system found   输入命令 :yum -y groupinstall "X Window System"  如果 出现


输入命令:yum groupinstall 'GNOME Desktop' 等待安装完成即可,不清楚为什么使用单引号。

感谢https://www.cnblogs.com/SLKnate/p/linux_centos7_XWindowSystem.html博客园这位大佬,我才成功启动了OpenOffice

安装完成再启动一次OpenOffice即可。

二、使用java程序调用OpenOffice实现转换并添加水印

(1)思路

首先连接OpenOffice,给定待转换的office文件,指定转换完成的pdf路径及名称,拿到pdf对象,添加水印对象,添加水印。

看了下大佬们的coding,大致的思路就是这样的。

(2)资料下载

具体实现我写了一个Demo,我将需要的安装包及jar包还有字体还有demo,放到百度云,链接:

链接: https://pan.baidu.com/s/1wTqtBNVgaSVuqardgeKjXw 提取码: gjhd   x86是32位的 x86_64是64位的

我写的Demo都有注释,很容易看懂,待转换的文件放在/data目录下,指定是1.docx,生成的pdf也是在该目录下1.pdf,添加水印的是2.pdf。

(3)可能出现的问题

A.OpenOffice报拒绝连接的异常,您忘记开启OpenOffice服务,开启OpenOffice服务后再尝。

B.如果转换完成的pdf中文出现乱码或者显示方框,说明你的linux下没有字体,我在上传的百度云,有一个ttc后缀的文件(宋体简体),或者自己找一个字体,将其放到linux下/usr/share/fonts文件夹下,重启一下OpenOffice服务即可,再次运行程序。

C.有的转换xlsx或者docx文件时,无法转换或者异常,是因为jodconverter的版本是2.2.1,2.2.2版本就支持了,你直接修改pom依赖可能也下载不到,因为中央仓库没有,所以我在百度云上传的jar就是2.2.2的,放在你本地仓库指定的文件夹下,maven update下就可以了

D.即便你使用了2.2.2版本,可能转换有的doc,xls文档,生成的pdf是xml文件,因为这类都是xml类型的文档,有一种解决方案,另存,在转换即可。如何区分呢,用记事本打开,显示xml就是xml类型的,显示乱码就是正常的office文档。

到这里整篇博客就结束了,可能所写之处有不对的地方,希望各位前辈多多包涵,指出我的不足,让我们一起进步,一起成长。

linux下安装OpenOffice及使用java调用OpenOffice转换word、Excel为pdf并添加水印相关推荐

  1. eclipse java调用c 代码吗_linux下通过eclipse开发用java调用c程序的方法

    linux下通过eclipse开发用java调用c程序的方法: 1.先建立好java工程并建立java文件如下: public class testso {     static {         ...

  2. linux下安装MySQL8及其远程可视化连接

    1.下载路径 https://dev.mysql.com/downloads/mysql/ 2.解压 root模式下 tar -xvf 3.使用rpm命令安装MySql组件 rpm -ivh mysq ...

  3. Redis基础,Linux下安装Redis和hredis,C++调用Redis,Redis中字符串设计

    文章目录 一.Redis是什么 Redis架构 Redis优势 Redis应用场景 二.Linux下载安装Redis(Ubuntu系统) 了解Redis版本 在线安装Redis 启动Redis服务端 ...

  4. linux上安装java失败,Linux下安装jdk失败怎么办

    有时出于需要(比如安装最新的eclipse),我们需要安装指定版本的JDK.然而,安装完成之后,再次键入命令查询JDK版本却发现版本号没有更新.那么,这应该如何解决呢?下面就让学习啦小编教大家Linu ...

  5. linux 部署java的胡那就,心得之:linux下安装jdk tomcat oracle10g

    最近一直在研究linux环境的操作,其实之前一直没有实际需求要用到linux,因项目需要,突然接受,显得很局促和苦闷,因我对linux的操作太不熟悉了,基本命令使用起来都很苦逼.现在突然需要搭建lin ...

  6. 使用oracle安装jdk1.7,【Java】Linux下安装配置Oracle JDK 1.7版本

    1 环境 Vmware虚拟机中的Ubuntu 12.04 32位系统 2具体安装步骤 ①下载最新的jdk包 注意jdk区分32位版本和64位版本,要与Ubuntu兼容才行 下载地址 http://ww ...

  7. Linux下安装Weblogic10.3.6并创建简单集群测试

    Linux下安装Weblogic10.3.6并创建简单集群进行测试 一.卸载随系统安装的openjdk 1.先查看安装的jdk信息,常用命令有rpm -qa | grep java, rpm -qa  ...

  8. linux下安装jira详细步骤

    首先从官网下载jdk的安装包,将jdk的安装包上传到虚拟机或者服务器,在./usr/local/目录下面创建一个java目录:mkdir java 等等,具体祥看本文,希望对你有所帮助 linux下安 ...

  9. Linux 下安装 Oracle9i

    Linux 下安装 Oracle9i 数据库版本:Oracle9i R2 (9.2.0.1.0) 1. 创建用户与组: ------------------------- 切换为 Root 用户并执行 ...

最新文章

  1. vue更新数组和对象
  2. 脑电植入:治疗抑郁症的新方法?重磅!UCSF研究人员成功治疗一例重度抑郁症患者...
  3. Build a Machine Learning Portfolio(构建机器学习投资组合)
  4. map与unordered_map的区别
  5. 魅族Flyme5.x以上系统INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
  6. 深入理解CSS权重(优先级)
  7. 3d 室内地图_微软科研人员欲通过3D点云混淆技术保护AR定位隐私
  8. 生成不同数据类型的随机数
  9. oracle _db_block_write_batch,Oracle体系结构----实例的进程结构
  10. Java实现图书管理系统(新手友好)
  11. 图像处理农业应用sci_SCI征稿通知
  12. 伴随方法:线性方程的伴随方程(Adjoint Equation)
  13. Power BI分解销售目标
  14. 小程序云数据库更新数组第n项
  15. 运营之光2.0 我的互联网运营方法论与自白
  16. 空气污染气体卫星数据的下载教程
  17. PTA 计算谱半径 —— 简单题
  18. Kitti中GPS/IMU数据格式
  19. 揭秘本土主流电子眼对车辆闯红灯的检测方法
  20. js正则 匹配 汉字、数字、英文字母、下划线 的 正则表达式

热门文章

  1. MinGW到底是个什么ghost
  2. HTML+CSS+js搭建简易网页(1)构建网页的骨架
  3. 计算机学院研究生论文课题,计算机专业研究生论文开题报告范文(最新)
  4. 【产品】设计时可用到的认知偏差与效应
  5. 华为机试练习(七)书籍叠放问题
  6. python什么是函数的唯一标识_Python:从modu中唯一标识一个函数
  7. python mock patch_偷梁换柱:使用mock.patch辅助python单元测试
  8. 帕累托图(Pareto Diagram,排列图)
  9. 黑龙江省计算机一级考试科目,黑龙江省2021年3月全国计算机等级考试时间和科目调整...
  10. 成为合格插画设计师的要点