首先下载openffice官网https://www.openoffice.org/ 版本:Apache_OpenOffice_4.1.5_Win_x86_install_zh-CN.exe

下载openOffice需要在C:\Program Files (x86)\OpenOffice 4\program
输入命令soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

下载jodconverter的jar

https://pan.baidu.com/s/1ay3QVL3-uCdKk_vLlTHG7g

代码直接用

package test;import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.regex.Pattern;import org.artofsolving.jodconverter.OfficeDocumentConverter;
import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;
import org.artofsolving.jodconverter.office.OfficeManager;public class OpenOffice {/*** office中各种格式*/private static final String[] OFFICE_POSTFIXS = { "doc", "docx", "xls","xlsx", "ppt", "pptx" };private ArrayList<String> Office_Formats = new ArrayList<String>();/*** pdf格式*/private static final String PDF_POSTFIX= "pdf";/*** 根据操作系统的名称,获取OpenOffice.org 4的安装目录 如我的OpenOffice.org 4安装在:C:/Program* Files/OpenOffice.org 4*/public String getOfficeHome() {String osName = System.getProperty("os.name");if (Pattern.matches("Linux.*", osName)) {return "/opt/openoffice.org4";} else if (Pattern.matches("Windows.*", osName)) {return "C:\\Program Files (x86)\\OpenOffice 4";}return null;}/*** 转换文件* @param inputFilePath* @param outputFilePath* @param converter*/public void converterFile(String inputFilePath, String outputFilePath,OfficeDocumentConverter converter) {File inputFile=new File(inputFilePath);File outputFile = new File(outputFilePath);// 假如目标路径不存在,则新建该路径if (!outputFile.getParentFile().exists()) {outputFile.getParentFile().mkdirs();}converter.convert(inputFile, outputFile);System.out.println("文件:" + inputFilePath + "\n转换为\n目标文件:" + outputFile+ "\n成功!");}/*** 使Office2003-2007全部格式的文档(.doc|.docx|.xls|.xlsx|.ppt|.pptx) 转化为pdf文件* * @param inputFilePath*            源文件路径,如:"e:/test.docx"* @param outputFilePath*            如果指定则按照指定方法,如果未指定(null)则按照源文件路径自动生成目标文件路径,如:"e:/test_docx.pdf"* @return*/public boolean openOffice2Pdf(String inputFilePath, String outputFilePath) {boolean flag = false;/** 连接OpenOffice.org 并且启动OpenOffice.org*/DefaultOfficeManagerConfiguration config = new DefaultOfficeManagerConfiguration();// 获取OpenOffice.org 4的安装目录String officeHome = getOfficeHome();config.setOfficeHome(officeHome);// 启动OpenOffice的服务OfficeManager officeManager = config.buildOfficeManager();officeManager.start();// 连接OpenOfficeOfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);long begin_time = new Date().getTime();File inputFile=new File(inputFilePath);Collections.addAll(Office_Formats, OFFICE_POSTFIXS);if ((null != inputFilePath) && (inputFile.exists())) {// 判断目标文件路径是否为空if (Office_Formats.contains(getPostfix(inputFilePath))) {if (null == outputFilePath) {// 转换后的文件路径String outputFilePath_new = generateDefaultOutputFilePath(inputFilePath);converterFile(inputFilePath, outputFilePath_new, converter);flag = true;} else {converterFile(inputFilePath, outputFilePath, converter);flag = true;}}} else {System.out.println("找不到资源");}long end_time = new Date().getTime();System.out.println("文件转换耗时:[" + (end_time - begin_time) + "]ms");officeManager.stop();return flag;}/*** 如果未设置输出文件路径则按照源文件路径和文件名生成输出文件地址。例,输入为 D:/fee.xlsx 则输出为D:/fee_xlsx.pdf*/public String generateDefaultOutputFilePath(String inputFilePath) {String outputFilePath = inputFilePath.replaceAll("."+ getPostfix(inputFilePath), "_" + getPostfix(inputFilePath)+ ".pdf");return outputFilePath;}/*** 获取inputFilePath的后缀名,如:"e:/test.pptx"的后缀名为:"pptx"*/public String getPostfix(String inputFilePath) {String[] p = inputFilePath.split("\\.");if (p.length > 0) {// 判断文件有无扩展名// 比较文件扩展名return p[p.length - 1];} else {return null;}}public static void main(String[] args) {OpenOffice office2pdf = new OpenOffice();office2pdf.openOffice2Pdf("D:/可实现功能.docx","D:/可实现功能_" + new Date().getTime() + "."+ PDF_POSTFIX);office2pdf.openOffice2Pdf("D:/新建123工作表.xls",null);}}

Java实现word文档转换为pdf,jodconverter相关推荐

  1. Java将Word文档转换为PDF的完美工具

    引用至:https://mp.weixin.qq.com/s/JIgo3f98HufGJx23mgtvag Java 将 Word 文档转换为 PDF 的完美工具 在日常工作中,PDF格式良好的视觉阅 ...

  2. Java 将 Word 文档转换为 PDF 的完美工具

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:为什么魂斗罗只有 128 KB却可以实现那么长的剧情?个人原创+1博客:点击前往,查看更多 来源:https:/ ...

  3. azw3转换为pdf_干货:如何Java 将 Word 文档转换为 PDF

    在日常工作中,PDF格式良好的视觉阅读性和稳定性使其使用越来越广泛.因此我们常会遇到需要将成型的Word文档转换为PDF格式的情况.本文就将通过使用Java程序来演示如何将Word文档转换成PDF格式 ...

  4. word文档转换为PDF

    工作中时常遇到word文档转换为pdf的需求,poi提供了一套现成的方法: package com.zzp.springboot.utils;import fr.opensagres.poi.xwpf ...

  5. Word处理控件Aspose.Words功能演示:使用 Android 库将 Word 文档转换为 PDF

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  6. Word处理控件Aspose.Words功能演示:在 Java 中将 Word 文档转换为 EPUB

    大多数智能设备,如智能手机.平板电脑.笔记本电脑等,都支持EPUB格式来查看或阅读文档.它是电子书或电子出版物的常用格式.另一方面,MS Word 格式,如DOCX.DOC等,是数字世界中广泛使用的文 ...

  7. 如何将Microsoft Word文档转换为PDF

    PDFs are handy for distributing documents so that they're seen the same way by all parties. Typicall ...

  8. Word处理控件Aspose.Words功能演示:使用 Java 将 Word 文档转换为 Markdown

    大多数智能设备,如智能手机.平板电脑.笔记本电脑等,都支持EPUB格式来查看或阅读文档.它是电子书或电子出版物的常用格式.另一方面,MS Word 格式,如DOCX.DOC等,是数字世界中广泛使用的文 ...

  9. 使用Java将Word文档转PDF

    使用Java将Word文档转PDF 首先新建 Maven 工程,然后再 src 同级下新建 lib 文件夹 下载 aspose-words-15.8.0-jdk16.jar 包,下载地址如下 链接:h ...

最新文章

  1. VSC 1.0 (netapp存储在vSphere vCenter 4上的插件)
  2. 对多个button触发enter操作,执行不同的操作
  3. 100. Same Tree 相同的树
  4. 简述arm linux内核启动流程,Linux内核启动过程和Bootloader(总述)
  5. JAVA maven Spring 开发 webservice 步骤
  6. dd for windows
  7. 为什么我们要设定更高的目标?
  8. select完成单线程,多用户
  9. android恢复微信好友,安卓微信删除好友怎么找回 找回好友详细方法
  10. python截取视频制作gif表情包
  11. python计算峰度和偏度、相关系数
  12. 第一个成功复制小米粉丝营销的屌丝案例
  13. 高通APQ8009w LTR303_ALS 光感(sensor)兼容模式调试
  14. 浅谈web前端工程师hr面试经典问题20+
  15. 极速版迅雷 服务器响应超时,迅雷登录超时怎么回事_迅雷经常登录超时如何解决...
  16. 让女朋友说Yes I Do的方法,数据分析助力客户管理的秘籍
  17. ZXing二维码自定义绘画文字
  18. matplotlib-04 xlabel设置x轴的标签
  19. 算法的本质是什么?程序员如何学好算法?
  20. 【pytorch】ResNet18、ResNet20、ResNet34、ResNet50网络结构与实现

热门文章

  1. 电容外观检测(牛角电容瑕疵缺陷视觉检测系统)
  2. 原创:商务通弹窗最新破解方法
  3. 【Python turtle 画爱心】实战学习
  4. Flutter学习之倒计时计时器
  5. Matlab 调用Optris Pi 450i红外相机direct SDK相关函数摘记
  6. 如何把EAN13码外观设置和code128码一样
  7. 记一次阿里java实习生面试(失败)
  8. HDR电视显示技术概况及标准发展前景汇总
  9. win10每次开机后,D、E、F盘就不见了,需要进入“磁盘管理”重新分配
  10. 手机投屏不是全屏怎么办_手机投屏win10怎么退出全屏详细图文教程