---恢复内容开始---

最近在做项目时需要写一个功能,将doc,ppt,xsl等文档做在线预览。网上查了很多资料,开始适用poi将文档转成pdf没成功,后来使用了OpenOffice4 + jodconverte2.2.2  + slf4j-jdk14-1.7.21,

jarbao版本一定要对,不然会报错,

首先安装Open Office4,导入jia包,下面直接上代码;

 import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.ConnectException; import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
import com.thinkgem.jeesite.common.config.Global; public class FileTransferUtils { /**
* inputFile : 源文件路径<br>
* outputFile : 目标文件路径<br>
* suffix : 目标文件后缀 ".pdf" , ".html" etc
* */
/*public static void main(String []args){
office2PDF("D:\\test\\out.docx", "D:\\test\\", ".pdf");
}*/
public static void office2PDF(String inputFile,String outputFile,String suffix){
try{
File input = new File(inputFile);
if(!input.exists()){
}
String filename = input.getName();
String file = filename.substring(0, filename.lastIndexOf("."));
System.out.println(file);
File output = new File(outputFile+file+suffix);
System.out.println(outputFile+file+suffix);
if(output.exists()){
output.delete();
} String open_office_home = Global.getConfig("openoffice.path"); //这是我在项目中配置的
//String open_office_home ="你的openoffie安装路径";
String command = open_office_home+
"program\\soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\""; //这条命令是通用的; Process process = Runtime.getRuntime().exec(command); OpenOfficeConnection connection =new SocketOpenOfficeConnection();
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(input, output);
connection.disconnect();
process.destroy();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch (ConnectException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}

以上就是我做office文档转pdf的经验,初次发博,欢迎指教

---恢复内容结束---

使用OpenOffice实现各种文档转pdf或者html文档的更多相关文章

  1. 使用OpenOffice.org将各类文档转为PDF

    http://blog.zhaojie.me/2010/05/convert-document-to-pdf-via-openoffice.html ————————————————————————— ...

  2. java实现MsOffice文档向pdf转化之OpenOffice软件

    本篇文档实现功能,将word和excel,ppt文档的文件转化成pdf格式的文档 第一步:下载第三方软件OpenOffice软件(不同的操作系统下载不同的版本) 下载地址:http://www.ope ...

  3. Java实现office文档与pdf文档的在线预览功能

    最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...

  4. 在linux中使用php将word文档转为pdf

    使用本教程需要在linux中安装openoffice,改页面中有详细的安装与使用教程(http://www.cnblogs.com/sustudy/p/3999628.html). 既然,你看了该教程 ...

  5. JAVA实现在线查看PDF和office文档

    一个项目中要做一个在线预览附件(和百度文库差不多)的小功能点,楼主在开发过程中踩了很多坑的同时也总结了一些方法,仅供广大猿友参考,那么要实现这个小功能,目前主要是有如下3种可行的实现方式,下面先说实现 ...

  6. Java 使用 jacob 将 word 文档转换为 pdf 文件

    网上查询了许许多多的博客,说利用 poi.iText.Jsoup.jdoctopdf.使用 jodconverter 来调用 openOffice 的服务来转换等等,我尝试了很多种,但要么显示不完全, ...

  7. Java实现web在线预览office文档与pdf文档实例

    https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...

  8. Java中几种office文档转pdf的方式

    最近公司要做office的文档,搜集了几种office文档转pdf的方式,简单的做下总结 我主要尝试了三种方式:openoffice,aspose,jacob 对他们进行了大文件,小文件,在linux ...

  9. office文档转pdf

    这里贴下代码吧,没啥好说的. using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

随机推荐

  1. Internet Information Services安装与启动

    Internet Information Services安装 1.打开控制面板——程序——启动或关闭windows功能 2.找到Internet Information Services ——将其全 ...

  2. 多线程——i++的坑

    在使用socket编程的时候发生数据丢失问题,一直以为是网络原因,后来测试后发现是多线程操作同一数据源又未加入数据锁导致. 直接上代码,下面程序执行的结果可能出现198.199.200.两个线程统一时 ...

  3. Python 使用心得之--变量命名

    目前开发命名规范基本都遵循驼峰命名法,如:userName.我也不将这个规范的特性了,大家都明白.接下来进入正题,如何在python中取一个好名字,让你能更好的见名知意呢? 1.元组(Tuple)类型 ...

  4. centos6.7搭建DHCP服务器

    centos6.7搭建DHCP服务 2017-03-24 09:47:16 系统环境: centos6.7 安装之前首先使用rpm –qa | grep dhcp查看系统中是否已安装了dhcp软件包. ...

  5. css3渐变生成器网页

    http://westciv.com/tools/gradients/ http://www.colorzilla.com/gradient-editor/

  6. 实时消息传输协议(RTMP)详解

    一.概念与摘要 RTMP协议从属于应用层,被设计用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频.视频和互动内容).RTMP提供了一套全双工的可靠的多路复用消息服务,类似于TCP协议[ ...

  7. 关于VO中的Attribute的问题

    对于新手来说,有些时候会遇到VO中的Attribute的各种问题; 总结如下:1,你页面上输入了值,但是点击保存之后值并不能存到数据库,这个是因为该字段在VO中不是基于EO的  2,你将一个VO中的E ...

  8. 取消a标签的页面跳转

    如果代码是:<a href="#" class="juan-btn" onclick="showResult()">提交< ...

  9. 手机自动化测试:appium问题解决

    手机自动化测试:appium问题解决   Appium遇到问题: 问题一:问题org.openqa.selenium.remote.UnreachableBrowserException: Could ...

  10. my first blogs(我的处女博)

    末夏的夕阳送走一批批下班的人,些许的轻风给一天烦躁的心带来一丝丝的清凉.我倒是挺喜欢在这种天气,提前下了公交车然后漫步回家.这样我能多点时间回顾一天的事情,俗话说是思考人生. 不知不觉毕业两年多了,在 ...