分享知识 传递快乐

1、先在网上下载OpenOffice,并安装。
2、引入以下jar:

  • commons-cli-1.1.jar
  • commons-io-1.4.jar
  • jodconverter-core-3.0-beta-4.jar
  • juh-3.2.1.jar
  • jurt-3.2.1.jar
  • ridl-3.2.1.jar
  • unoil-3.2.1.jar

如果有新的jar,也可以引入新的jar。

代码如下:

package com.singleton;import java.io.File;import org.artofsolving.jodconverter.OfficeDocumentConverter;
import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;
import org.artofsolving.jodconverter.office.OfficeManager;import com.xh.Constant;/*** * @author H.Yang* @date 2017年9月8日*/
public class SingleOpenOffice {private static SingleOpenOffice start = new SingleOpenOffice();private static OfficeManager officeManager;// 获取唯一可用的对象public static SingleOpenOffice getStart() {DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration();System.out.println("准备启动服务....");configuration.setOfficeHome(FileSuffixType.FILEPATH.getName()); // 设置OpenOffice.org安装目录configuration.setPortNumber((int) FileSuffixType.PORT.getValue()); // 设置转换端口,默认为8100configuration.setTaskExecutionTimeout(Long.valueOf(String.valueOf(FileSuffixType.EXECUTE_OVERTIME.getValue())));configuration.setTaskQueueTimeout(Long.valueOf(String.valueOf(FileSuffixType.QUEUE_OVERTIME.getValue())));officeManager = configuration.buildOfficeManager();officeManager.start(); // 启动服务System.out.println("office服务启动成功!");return start;}/*** 文档转换* <hr>* 将doc,docx,xls,xlsx,ppt,pptx,txt等文档转换成PDF文档,如果不指定输出地址默认当前文件地址* * @author H.Yang* @date 2016年12月13日* @explain* * @param inputFilePath*            - 转换文件地址(必须)* @param outputFilePath*            - 输出地址(可空)* @param newFileName*            - 新文件名(可空)* @return*/public String execute2Pdf(String inputFilePath, String outputFilePath, String newFileName) {File inputFile = new File(inputFilePath);String fileName = inputFile.getName();String prefix = fileName.substring(fileName.lastIndexOf(".") + 0);String outputPath = null;boolean isTrue = false;if (!inputFile.exists()) {System.out.println("文件不存在!");return null;}for (String name : Constant.FILE_SUFFIX) {if (fileName.endsWith(name)) {isTrue = true;break;}}if (!isTrue) {System.out.println("文件格式错误");return null;}if (outputFilePath != null) {outputPath = newFileName == null ? outputFilePath + fileName.replace(prefix, Constant.PDF_SUFFIX) : outputFilePath+ fileName.replace(fileName, newFileName) + Constant.PDF_SUFFIX;} else {outputPath = newFileName == null ? inputFile.getPath().replace(prefix, Constant.PDF_SUFFIX) : inputFile.getPath().replace(fileName, newFileName)+ Constant.PDF_SUFFIX;}File outputFile = new File(outputPath);if (!outputFile.exists()) {// 执行方法服务功能execute(inputFile, outputFile);} else {System.out.println("文件已存在");}return outputPath;}/*** 执行方法服务功能* * @author H.Yang* @date 2016年12月13日* @explain* * @param inputFile* @param outputFile*/private static void execute(File inputFile, File outputFile) {long startTime = System.currentTimeMillis();// 获取开始时间try {System.out.println("进行文档转换转换:" + inputFile + " --> " + outputFile);OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);converter.convert(inputFile, outputFile);System.out.println("Office转换成功");} catch (Exception e) {getStop();e.printStackTrace();}long endTime = System.currentTimeMillis(); // 获取结束时间System.out.println("程序运行时间: " + (endTime - startTime) / 1000 + "s");}public static void getStop() {if (officeManager != null) {officeManager.stop();}System.out.println("office关闭成功!");}}

源码下载:点击打开链接

如有不足或新的想法请留言--分享知识 传递快乐。

Java如何把文档转换成PDF相关推荐

  1. java将WORD文档转换成pdf文件

    总结对jacob和Itext学习总结.本文试验的是将WORD转换成PDF文件. 实现思路 一.先将WORD文档转换成HMTL文件格式(参阅我的前一文<JAVA操作WORD文档). 二.用流读取H ...

  2. java xml转html_如何在Java中将XML文档转换成HTML文档.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp网页设计/UI 如何在Java中将XML文档转换成HTML文档. ...

  3. word转图片 java_Java 利用LibreOffice将Office文档转换成 PDF,进而转图片,实现在线预览功能...

    项目中需要将 Office 文档上传并实现在线预览,用到了 LibreOffice 将 Office 文档转换为 PDF 文档,然后再用 pdfbox 将 PDF 转为图片. 本文介绍借助 Libre ...

  4. Office文档转换成PDF

    分享知识 传递快乐 Office文档转换成PDF 文档转换的方式有很多种,比如有Apache下的POI.jodconverter等技术.本例用的jodconverter-core-3.0技术对文档进行 ...

  5. WORD文档转换成PDF格式

    由于一个客户的项目中需要将WORD文档转换成PDF格式,实战教程如下: 需求分析:客户的项目以B/S结构为主,提供一个WORD文件在后台自动转换成PDF,经过实际 测试, 如果该篇WORD文档有100 ...

  6. 怎么把word文档转换成PDF?

    Word文件完成编辑之后,想要转发给他人,但是担心在转发过程中出现了格式错乱的情况,将word文档转换成PDF格式再转发就可以避免类似情况了.那么如何将word文档转换成PDF文件? 方法一: 在编辑 ...

  7. doPDF虚拟打印机-把任何文档转换成pdf的利器

    doPDF是一个完全免费的软件,安装完成之后,它会化身为系统中的虚拟打印机.不管是什么格式的文档还是图片,只要能够被打印,就可以轻松被转换成pdf文档,从此扫描仪的使用频率会大大降低,除了节省之间之外 ...

  8. Freemarker + flying-saucer-pdf 基于IText2.17实现HTML文档转换成PDF

    一.引入依赖 <dependency><groupId>org.freemarker</groupId><artifactId>freemarker&l ...

  9. Office文档转换成PDF文档

    本方案是我在网络上收集前人智慧,以及辛苦奋斗探索几周完成的成果. 本文从一个只会Java零基础的开发者的角度,全面.琐碎的进行总结. 具体方案: 方案一.使用OpenOffice.org的系统服务+j ...

  10. python学习之word文档转换成pdf文档

    平时办公的时候总有word文档转换pdf的操作,关键wps等转换工具都还是收费的.这里利用python代码把多个word文档转换合并成pdf文档的实现.代码运行需要几个必要库,没有下载安装的小伙伴可以 ...

最新文章

  1. 科研指导:机器学习与自然语言处理
  2. 【转载】看板方式简介
  3. python爬取小说内容_使用python爬取小说全部内容
  4. csredis-in-asp.net core理论实战-主从配置、哨兵模式
  5. .net 获取网站根目录的方法
  6. Linux系统json文件打中文,如何在 Linux 终端上漂亮地打印 JSON 文件
  7. poi comment
  8. 漫画:从打牌到 map-reduce 工作原理解析
  9. php.net对称压缩解压缩探讨
  10. 编程基本功训练:流程图画法及练�
  11. 复选框式查询 例题租房子
  12. 页面导出excel的三种方式
  13. 深度学习基础笔记——卷积神经网络概念及其计算方式
  14. word 批量转 pdf
  15. 办公室电脑如何共享计算机,办公室电脑如何互相共享文件?
  16. OMNet++ Tic Toc例程的解析1
  17. 【评测】阿法埃莎 (Alfa Aesar)化学品目录
  18. 如何手动启动消防广播_消防应急广播应如何规范设置
  19. java程序员怎么创建自己的网站:第四章:做个网站引入广告赚点小钱
  20. 复习汇总vue知识点

热门文章

  1. jxd android 4.1刷机包,金星JXD V3固件
  2. input输入框添加键盘事件
  3. 33c3 CTF web WriteUp
  4. 示波器带宽和采样率与被测信号的关系(转)
  5. 再见,2017,你好,2018
  6. HDU1922 POJ3004 Subway planning “神题”留名
  7. 边境的悍匪—机器学习实战:第二章 端到端的机器学习项目
  8. matlab中floor函数,floor函数
  9. 1.4 安装Kali Linux
  10. js对象深浅拷贝,来,试试看!