java word openoffice_java 使用openoffice 转换文档,成.pdf,实现在线预览效果
1. 下载 openoffice 地址
https://pan.baidu.com/s/1dfpoG6zlawoW1pqpDvBL0A 密码: v4ej
如果上面的地址无法访问请访问这个地址:下载地址如下:http://www.openoffice.org/
2. jodconverter-2.2.2.zip 下载地址:
http://sourceforge.net/projects/jodconverter/files/JODConverter/
3. JODConverter 下的jar包访问项目lib包中。
4. 使用openoffice的工具类
package com.rdkl.utils;
import java.io.File;
import org.apache.commons.io.FilenameUtils;
import org.apache.log4j.Logger;
import org.artofsolving.jodconverter.OfficeDocumentConverter;
import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;
import org.artofsolving.jodconverter.office.ExternalOfficeManagerConfiguration;
import org.artofsolving.jodconverter.office.OfficeException;
import org.artofsolving.jodconverter.office.OfficeManager;
import com.ddyun.imooc.common.SysConfigManager;
public class PdfUtils {
private static final Logger logger = Logger.getLogger(PdfUtils.class
.getName());
@SuppressWarnings("static-access")
private static String officeHome = "这里写的是你的openoffice的安装地址";
@SuppressWarnings("static-access")
private static int port = "这里的内容是根据你的系统选择不同的端口号,windows系统的端口号是8100";
private static OfficeManager officeManager;
// 尝试连接已存在的服务器
private static boolean reconnect(){
try {
// 尝试连接openoffice的已存在的服务器
ExternalOfficeManagerConfiguration externalProcessOfficeManager = new ExternalOfficeManagerConfiguration();
externalProcessOfficeManager.setConnectOnStart(true);
externalProcessOfficeManager.setPortNumber(8100);
officeManager = externalProcessOfficeManager.buildOfficeManager();
officeManager.start();
return true;
} catch (OfficeException e) {
e.printStackTrace();
return false;
}
}
// 开启新的openoffice的进程
private static void start() {
logger.debug("启动OpenOffice服务");
try {
DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration();
configuration.setOfficeHome(officeHome);// 安装地址
configuration.setPortNumbers(port);// 端口号
configuration.setTaskExecutionTimeout(1000 * 60 * 5);// 设置任务执行超时为5分钟
configuration.setTaskQueueTimeout(1000 * 60 * 60 * 24);// 设置任务队列超时为24小时
officeManager = configuration.buildOfficeManager();
officeManager.start(); // 启动服务
} catch (Exception e) {
logger.error("启动OpenOffice服务出错" + e);
}
}
// 使用完需要关闭该进程
private static void stop() {
logger.debug("关闭OpenOffice服务");
try {
if (officeManager != null)
officeManager.stop();
} catch (Exception e) {
logger.error("关闭OpenOffice服务出错" + e);
}
}
public static File convertToPdf(String input) {
File inputFile = null;
File outFile = null;
try {// 如果已存在的服务不能连接或者不存在服务,那么开启新的服务if(!reconnect()){
start();// 开启服务}// filenameUtils是Apache对java io的封装。FilenameUtils.separatorsToSystem:转换分隔符为当前系统分隔符 / FilenameUtils.getFullPath:获取文件的完整目录
// FilenameUtils.getBaseName:取出文件目录和后缀名的文件名
String output = FilenameUtils.separatorsToSystem(FilenameUtils.getFullPath(input) + FilenameUtils.getBaseName(input) + ".pdf");
inputFile = new File(input);
outFile = new File(output);
logger.info("开始转换文档:" + input + "=>" + output);
OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);
converter.convert(inputFile,outFile); // 转换文档} catch (Exception e) {
logger.error("转换文档出错" + e);
outFile = null;
}finally{
logger.info("结束转换文档");
stop();
}
return outFile;
} // 测试工具类是否成功
public static void main(String[] args) {
//PdfUtils.convertToPdf("E:/test.ppt");
File sf = new File("E:/test.ppt");System.out.println(sf.getPath());
}
}
原文:https://www.cnblogs.com/bb1008/p/10019576.html
java word openoffice_java 使用openoffice 转换文档,成.pdf,实现在线预览效果相关推荐
- Java通过openOffice实现word,excel,ppt转成pdf实现在线预览
Java通过openOffice实现word,excel,ppt转成pdf实现在线预览 一.OpenOffice 1.1 下载地址 1.2 JodConverter 1.3 新建实体类PDFDemo ...
- java将office文档,word,ppt,pdf文档转换成swf文件在线预览
java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...
- Java 实现word、excel、ppt、txt等办公文件在线预览功能!
大家好,我是宝哥! 如何用 Java 实现word.excel.ppt.txt等办公文件在线预览功能?本文告诉你答案! java 实现办公文件在线预览功能是一个大家在工作中也许会遇到的需求,网上些公司 ...
- 手把手教你用 Java 实现word、excel、ppt、txt等办公文件在线预览功能!
如何用 Java 实现word.excel.ppt.txt等办公文件在线预览功能?本文告诉你答案! java 实现办公文件在线预览功能是一个大家在工作中也许会遇到的需求,网上些公司专门提供这样的服务, ...
- java flexpaper_java web word文件 pdf文件在线预览源码(flexpaper)
[实例简介]java web word文件 pdf文件在线预览源码 经过测试 [实例截图] [核心代码] BrowsenOnline html, body{ height:100%; } body { ...
- 快速实现word、excel、ppt、txt等办公文件在线预览功能(Java版)
点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/weixin_40986713/ article/details/109527294 java实现办公文件在线预览功能是一个大家 ...
- 使用PageOffice实现文档(word,excel,pdf)在线预览编辑
最近发现一款不错的插件的PageOffice,地址是:http://www.zhuozhengsoft.com/Technical/ 他可以实现word,excel.pdf在线预览以及在线编辑.虽然商 ...
- html怎么转换到百度,类似百度文库在线预览文档flash版(支持word、excel、ppt、pdf)+在线预览文档html版...
类似百度文库在线预览文档flash版(支持word.excel.ppt.pdf)+在线预览文档html版 (1).将文档转换为html,只支持支持office文档 (2).将文档转换为flash,实现 ...
- JAVA实现FTP服务器上文件上传下载以及文件在线预览
(一)介绍文件上传下载: (1)前端思路: 用formData封装好file以及相关参数,然后l利用ajax请求往后台传数据 html的代码:<input id="cm_file&qu ...
最新文章
- 大数据目标检测推理管道部署
- html中事件处理中的this和event对象
- 用表格布局2个链接6个图片
- Android 控件之RatingBar评分条(五星)自定义样式
- 一个绚丽的loading动效分析与实现!
- MyBatis generator 使用方式 小结
- GeoServer地图开发解决方案(二):地图数据处理篇
- openCV视频教程
- 3dmax一键展uv_3Dmax批量展开场景物体的第二套UV
- Android 暗黑模式
- Vue项目实战05:18n实现多语言自动切换-浏览器语言设置
- 你对自己的定位是什么,就能成为什么样的人(转)
- Python基础综合
- 拜拜了Unable to connect to remote host. Catalog download has failed.您嘞
- 云计算基础之如何学习云计算?
- 原生JS实现弹幕的简单操作速成
- cobaltstrike如何安装使用(包含CS联动MSF详细用法!)? (゚益゚メ) 渗透测试
- 阿里大S,强推,接口测试之必会接口加密类型
- php 转换成string,在PHP中将数字(1,2,3)转换为string(一,二,三)
- 老男孩读PCIe之一:从PCIe速度说起
热门文章
- 原生js实现ajax的文件异步提交功能、图片预览功能.实例
- 自学习 与 无监督特征学习
- 解决 WIn7 启动时“你有等待写入光盘的文件”
- SNMP在企业网中应用
- Silverlight实例教程 - Out of Browser在线更新和Silent安装
- Spring: DispacherServlet和ContextLoaderListener中的WebApplicationContext的关系
- Oracle WebLogic 最新补丁的绕过漏洞分析 cve-2020-2883
- linux socket recv函数 MSG_PEEK标志介绍
- wireshark协议解析器 源码分析 封装调用
- /usr/bin/ld 搜索路径顺序