本文在原文的基础上有所修改,原文请参考:

http://titanseason.iteye.com/blog/1471606 由于此blog不支持附件附件请到此处下载

http://my.oschina.NET/bigyuan/blog/165464

1. 需要用的软件

OpenOffice 下载地址http://www.openoffice.org/

JodConverter 下载地址http://sourceforge.net/projects/jodconverter/files/JODConverter/,也可以直接从附件里面下载

jra包 需要jodconverter-2.2.2,jodconverter-2.2.1只能转.doc .xls .ppt

2.启动OpenOffice的服务

安装完openoffice,安装服务

cd C:\Program Files (x86)\OpenOffice 4\program

执行

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

查看是否安装成功,查看端口对应的pid

netstat -ano|findstr "8100"

查看pid对应的服务程序名

tasklist|findstr "pid值"

3.将JodConverter相关的jar包添加到项目中

4. 下面是实现代码

附件里面有现成的可以用的项目示例,直接导入eclipse就可以运行

public static int office2PDF(String sourceFile, String destFile) throws FileNotFoundException {try {File inputFile = new File(sourceFile);if (!inputFile.exists()) {logger.info("找不到源文件");return -1;// 找不到源文件, 则返回-1}// 如果目标路径不存在, 则新建该路径File outputFile = new File(destFile);if (!outputFile.getParentFile().exists()) {outputFile.getParentFile().mkdirs();}// connect to an OpenOffice.org instance running on port 8100OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1", 8100);connection.connect();// convertDocumentConverter converter = new OpenOfficeDocumentConverter(connection);converter.convert(inputFile, outputFile);// close the connectionconnection.disconnect();return 0;} catch (ConnectException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return 1;}

H5使用<embed src="xxx.pdf" />标签就可以在页面预览

maven 地址

<dependency><groupId>com.artofsolving</groupId><artifactId>jodconverter</artifactId><version>2.2.1</version>
</dependency>
<dependency><groupId>org.openoffice</groupId><artifactId>jurt</artifactId><version>3.0.1</version>
</dependency>
<dependency><groupId>org.openoffice</groupId><artifactId>ridl</artifactId><version>3.0.1</version>
</dependency>
<dependency><groupId>org.openoffice</groupId><artifactId>juh</artifactId><version>3.0.1</version>
</dependency>
<dependency><groupId>org.openoffice</groupId><artifactId>unoil</artifactId><version>3.0.1</version>
</dependency>
jodconverter2.2.2 没有,只能手动下载配置

原文:http://www.cnblogs.com/cxxjohnson/p/6880545.html

Java用OpenOffice将word转换为PDF并预览相关推荐

  1. java实现word转pdf在线预览格式

    java实现word转pdf在线预览格式 前段时间的项目里涉及了此功能,调研过一些方案,踩过一些坑,一一总结在此. java转pdf的方案很多,但是很多都要收费,转pdf也有一些格式方面的问题. 方案 ...

  2. 使用easyPoi导出word文档并使用openoffice把word转换为pdf格式

    easyPoi官网:http://www.wupaas.com/ 一.制作要导出的word模板(使用Word软件制作模板),把模板里的变量用{{字段名}}代替,把制作好的模版放到,如下图我放到stat ...

  3. 利用OpenOffice实现word文档在线预览

    项目中遇到的word文档在线预览需求,查阅很多资料决定利用openoffice转换word文档为pdf/html进行预览实现. 1.下载openoffice4安装 www.openoffice.org ...

  4. Java使用OpenOffice实现文件转换为PDF文件(三)

    项目背景:开发中需要实现word.ppt文件的在线预览,而浏览器无法打开此类文件,于是需要上传文件的时候转PDF文件存储. 下面是具体操作步骤: 一.OpenOffice是跨平台的免费软件套件,下载地 ...

  5. java word转pdf linux_java实现word转pdf在线预览(前端使用PDF.js;后端使用openoffice、aspose)...

    背景 之前一直是用户点击下载word文件到本地,然后使用office或者wps打开.需求优化,要实现可以直接在线预览,无需下载到本地然后再打开. 随后开始上网找资料,网上资料一大堆,方案也各有不同,大 ...

  6. java word在线预览_java实现word转pdf在线预览(前端使用PDF.js;后端使用openoffice、aspose)...

    背景 之前一直是用户点击下载word文件到本地,然后使用office或者wps打开.需求优化,要实现可以直接在线预览,无需下载到本地然后再打开. 随后开始上网找资料,网上资料一大堆,方案也各有不同,大 ...

  7. JAVA实现word导出,word转PDF,预览汇总

    #使用POI实现word模板导出 笔者的word模板没有存在的OSS中,因为模板不多,故我是在Spring boot项目中的resources中创建了一个专门用于存放word模板的文件夹 首先创建一个 ...

  8. 使用FreeMarker生成word文档(带图片),word转pdf,预览pdf,pdf下载工具类

    一.下载或配置: 下载jar包 :freemaker的jar包下载 下载jar包 :aspose-words的jar包下载 或者配置maven依赖: pom.xml添加aspose的依赖包(maven ...

  9. java使用openOffice 实现word转pdf

    1.首先需要安装openOffice 2.下载jodconverter-2.2.2.jar package com.toutiao_efficiency.modules.documet_file.se ...

  10. wps在线浏览 java_java实现word转pdf在线预览(前端使用PDF.js;后端使用openoffice、aspose)...

    varqtpath= '${qtpath}';varfileName= '${fileName}'; PDF.js viewer varDEFAULT_URL= "";//注意,删 ...

最新文章

  1. 如何拆分PDF,PDF拆分页面的方法
  2. [转载] 七龙珠第一部——第070话 五人战士大突击
  3. java 去掉大量if else_java如何消除太多的if else判断?
  4. 什么是Ajax和JSON,它们的优缺点
  5. [react] 说说你喜欢react的原因是什么?它有什么优缺点?
  6. 每个线程只对一个数据操作就不会出现线程安全问题-------------成员变量,用来计算累加的和...
  7. “华为杯”中国研究生数学建模竞赛 记录
  8. 【每日更新】万维钢精英日课3课程分享笔记:模糊逻辑:灰度认知,灰度决策,黑白执行
  9. 百旺税控服务器维护,税控盘是百旺的,但航天信息发信息要交维护费,是什么意思?...
  10. 以下不正确的C语言标识符是( ),以下不正确的C语言标识符是 _____。
  11. 凤凰男,你若孤老终身,便是晴天
  12. Istio和Linkerd基准性能测试对比
  13. 只需这篇文章java线程池原理便懂了!♥♥
  14. R系银河麒麟配置本地镜像源
  15. 00_简单常识介绍——NOIP/NOI/IOI(信息学奥林匹克竞赛)
  16. android os感染病毒,安卓系统能感染win系统病毒吗?
  17. HDOJ 1282 回文数猜想
  18. 苹果cms模板_苹果cms什么模板好?
  19. 常见网页悬浮广告(JavaScript)
  20. 手动搭建服务器—Python

热门文章

  1. 5G云游戏革命风云已起,各方势力谁执牛耳
  2. Nginx配置项调优
  3. IP地址最后一位斜杠是什么意思?比如192.168.1.10/27?还有IP地址和子网掩码相加得到的网络地址是什么意思
  4. 2020 11月8周记
  5. android 调用百度翻译API 实现在线翻译
  6. 苹果公司市值$5000亿已经超越波兰、台湾等国民生产总值GDP
  7. git拉取最新的代码
  8. Electron“安装已中止,安装程序未成功地运行完成”
  9. toeic的学习网站
  10. P2037 电话号码