Java调用ApacheOpenOffice将Word转PDF

踩坑后补充建议首先进行以下操作

1、安装X Window System

yum groupinstall "X Window System"

2、安装字体

yum -y install fontconfig #安装字体库
yum -y install ttmkfdir mkfontscale #安装字体索引信息

3、上传中文字体

cd /usr/share/fontsmkdir zh
  • 将windows系统内中文字体拷贝一份上传到服务器。
cp -r  font/* /usr/share/fonts/zh/
mkfontscale
mkfontdir
fc-cache
  • 查看安装完成的中文字体
fc-list :lang=zh

Linux安装ApacheOpenOffice

安装

  • 下载地址:http://www.openoffice.org/download/index.html

1、解压

tar -zxvf Apache_OpenOffice_4.1.13_Linux_x86-64_install-rpm_zh-CN.tar.gz

2、进入rpm安装

 cd zh-CN/RPMS
rpm -ivh *.rpm

进入到RPMS/desktop-integration文件夹中执行

rpm -ivh openoffice4.1.13-redhat-menus-4.1.13-9810.noarch.rpm

测试

  • 上传jodconverter-2.2.2的zip包
  • 解压完后,上传一个word文档和jar包同级
  • 执行转换命令
java -jar jodconverter-cli-2.2.2.jar up.docx up.pdf


OpenOffice服务没有启动,启动一下。

/opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

报错一:

no suitable windowing system found, exiting.

说是没有什么桌面系统无法启动,然后万千百度后,安装了桌面系统

yum grouplist #查看可安装组件
yum groupinstall "X Window System"

报错二:

error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory.

执行安装

yum install libXext.x86_64

安装完成后
从/usr/lib64中将libXext.so.6拷贝到/opt/openoffoce4/program中

cp libXext.so.6 /opt/openoffice4/program/

然后拷贝完成后赋予权限

chmod +x libXext.so.6

转换

  • 8100端口已被服务占用
  • 执行测试
java -jar jodconverter-cli-2.2.2.jar demo.docx demo.pdf

Java转换方法

public static void word2Pdf(File sourceFile, File pdfFile) throws Exception {OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1", 8100);try {connection.connect();DocumentConverter converter = new OpenOfficeDocumentConverter(connection);converter.convert(sourceFile, pdfFile);connection.disconnect();log.info("OpenOffice正在转换文件中.");} catch (java.net.ConnectException e) {e.printStackTrace();log.error("OpenOffice服务未启动.");throw e;} catch (OpenOfficeException e) {e.printStackTrace();log.error("读取文件失败.");throw e;} catch (Exception e) {e.printStackTrace();log.error("未知异常.");throw e;}}

Java调用ApacheOpenOffice将Word转PDF相关推荐

  1. php 调用openoffice,PHP调用OpenOffice实现word转PDF的方法

    最近一直在研究PHP word文档转PDF,也在网上搜索了很多类似的资料,大多数都是通过OpenOffice进行转换的. 核心的代码如下: function MakePropertyValue($na ...

  2. Java使用aopse实现word转换pdf

    Java使用aopse实现word转换pdf 需要引用aspose包,引入操作我写了一个博客,地址如下 https://blog.csdn.net/weixin_46713508/article/de ...

  3. java 使用jacob实现word转pdf

    java 使用jacob实现word转pdf(IDEA Maven项目) 步骤: 一. 插件与jar包下载 SaveAsPDFandXPS 下载地址: http://www.microsoft.com ...

  4. Java实现Excel和word转pdf加水印,复制及可用

    Java实现Excel和word转pdf加水印,复制及可用 时隔大半年,之前朋友,今天突然找我说,他们有个需求要做这东西.想起来之前自己照着官方文档写,也走了不少坑.今天就索性写个,也为了方便以后使用 ...

  5. Java使用XDOC实现word,pdf等格式的生成及转换

    Java使用XDOC实现word,pdf等格式的生成及转换 最近业务上有个需求,要将生成的简报以word或者pdf等格式下载下来 刚开始我设想的是用io流的方法直接写,但是这样无疑是比较麻烦的 直到我 ...

  6. java实现Exl、word转pdf

    需要用到的jar及文件地址: 都一样的文件,阿里的下载不用会员也会快一点 阿里网盘的:aspose https://www.aliyundrive.com/s/ftPjVfh6378 提取码: ae2 ...

  7. java使用jacob实现word转pdf

    背景:日常开发ERP系统,会有一些工单或者合同之类需要填写打印.我们就会将其word模板来通过系统自动化填写并转换为PDF格式(PDF文件打印可保证文件质量,是一种通用的格式.文件不易去修改,比较稳定 ...

  8. Java通过IText导出word和pdf

    最近做的项目中需要用到导出word和pdf的功能(还有图表),在网上找了很多资料,最后敲定用了IText组件,下面是我项目中的一个Demo,记录了一下,希望对需要的人有帮助. 相关jar包下载地址:h ...

  9. 用JAVA实现简单的WORD转PDF 亲测有效

    前阵子由于项目业务的需要,领导要求研究一下如何实现将word转换成pdf,经过一番的百度找到了一个比较简单的方法(本人比较懒),只需要导入一个JAR包和十几行代码就能够实现转换,而且转换的效果比预想的 ...

  10. poi中word中表格跨列合并以及不兼容wps问题,java下 linux下word转pdf 问题解决

    最近需要在word中绘制表格,绘制完成后发现 wps不支持poi的跨列合并,百度没有找到好的解决办法.自己在office中把文档转换为doc格式之后发现wps可以正常显示word中的表格了,同时之前微 ...

最新文章

  1. python批量pdf转word,python批量实现Word文件转换为PDF文件
  2. 在VMware虚拟机下安装ubuntu16.04,及hackrf one环境配置
  3. WINCE6.0更换桌面壁纸和图标
  4. 成功解决fp = builtins.open(filename, quot;rbquot;) OSError: [Errno 22] Invalid argument: 'F:\\File_Pyt
  5. 2019年湘潭大学程序设计竞赛
  6. boost::fusion::cons用法的测试程序
  7. C语言二叉树的lowest common ancestor最低公共祖先(附完整源码)
  8. k8s的网络优化(metallb)
  9. [导入]创建DataTable对象
  10. RssTookit使用小结
  11. 二十一.激光、视觉和惯导LVIO-SLAM框架学习之相机与雷达外参标定(1)
  12. Django中的form如何设置field的html属性呢?
  13. java 读取栅格,提取两个重叠栅格的数据
  14. 安卓开发 JAVA环境配置
  15. FFmpeg MP4文件提取音频文件
  16. geem2登陆器修改服务器列表,Gee引擎怎么更换登陆器皮肤 GeeM2传奇编辑自定义皮肤的方法讲解...
  17. 使用usb串口线作为console
  18. 汇智聚力 平台闪耀 —— CDEC2022中国数字智能生态大会深圳举行
  19. git基础教程(11) git checkout命令,掌握这些足以
  20. 路由器工作原理及配置实验

热门文章

  1. ADSL上网常见故障解答
  2. 信息熵与两种编码基础
  3. 我在 CMU 的八年博士生涯...
  4. StyleGAN生成模型
  5. 最伟大的IT人物10强
  6. 夜神模拟器如何设置自动代理
  7. java 定时关机_win7电脑怎么设置定时关机_win7电脑设置定时关机的详细教程-win7之家...
  8. Python手撕周杰伦158首歌之后,结果很尴尬,TF-IDF有缺陷,以为AI是王者
  9. 测光--摄影基础理论(2)
  10. 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3, 编程找出 1000 以内的所有完数。