Java实现word文档转换为pdf,jodconverter
首先下载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相关推荐
- Java将Word文档转换为PDF的完美工具
引用至:https://mp.weixin.qq.com/s/JIgo3f98HufGJx23mgtvag Java 将 Word 文档转换为 PDF 的完美工具 在日常工作中,PDF格式良好的视觉阅 ...
- Java 将 Word 文档转换为 PDF 的完美工具
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:为什么魂斗罗只有 128 KB却可以实现那么长的剧情?个人原创+1博客:点击前往,查看更多 来源:https:/ ...
- azw3转换为pdf_干货:如何Java 将 Word 文档转换为 PDF
在日常工作中,PDF格式良好的视觉阅读性和稳定性使其使用越来越广泛.因此我们常会遇到需要将成型的Word文档转换为PDF格式的情况.本文就将通过使用Java程序来演示如何将Word文档转换成PDF格式 ...
- word文档转换为PDF
工作中时常遇到word文档转换为pdf的需求,poi提供了一套现成的方法: package com.zzp.springboot.utils;import fr.opensagres.poi.xwpf ...
- Word处理控件Aspose.Words功能演示:使用 Android 库将 Word 文档转换为 PDF
Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...
- Word处理控件Aspose.Words功能演示:在 Java 中将 Word 文档转换为 EPUB
大多数智能设备,如智能手机.平板电脑.笔记本电脑等,都支持EPUB格式来查看或阅读文档.它是电子书或电子出版物的常用格式.另一方面,MS Word 格式,如DOCX.DOC等,是数字世界中广泛使用的文 ...
- 如何将Microsoft Word文档转换为PDF
PDFs are handy for distributing documents so that they're seen the same way by all parties. Typicall ...
- Word处理控件Aspose.Words功能演示:使用 Java 将 Word 文档转换为 Markdown
大多数智能设备,如智能手机.平板电脑.笔记本电脑等,都支持EPUB格式来查看或阅读文档.它是电子书或电子出版物的常用格式.另一方面,MS Word 格式,如DOCX.DOC等,是数字世界中广泛使用的文 ...
- 使用Java将Word文档转PDF
使用Java将Word文档转PDF 首先新建 Maven 工程,然后再 src 同级下新建 lib 文件夹 下载 aspose-words-15.8.0-jdk16.jar 包,下载地址如下 链接:h ...
最新文章
- VSC 1.0 (netapp存储在vSphere vCenter 4上的插件)
- 对多个button触发enter操作,执行不同的操作
- 100. Same Tree 相同的树
- 简述arm linux内核启动流程,Linux内核启动过程和Bootloader(总述)
- JAVA maven Spring 开发 webservice 步骤
- dd for windows
- 为什么我们要设定更高的目标?
- select完成单线程,多用户
- android恢复微信好友,安卓微信删除好友怎么找回 找回好友详细方法
- python截取视频制作gif表情包
- python计算峰度和偏度、相关系数
- 第一个成功复制小米粉丝营销的屌丝案例
- 高通APQ8009w LTR303_ALS 光感(sensor)兼容模式调试
- 浅谈web前端工程师hr面试经典问题20+
- 极速版迅雷 服务器响应超时,迅雷登录超时怎么回事_迅雷经常登录超时如何解决...
- 让女朋友说Yes I Do的方法,数据分析助力客户管理的秘籍
- ZXing二维码自定义绘画文字
- matplotlib-04 xlabel设置x轴的标签
- 算法的本质是什么?程序员如何学好算法?
- 【pytorch】ResNet18、ResNet20、ResNet34、ResNet50网络结构与实现