使用OpenOffice实现各种文档转pdf或者html文档
---恢复内容开始---
最近在做项目时需要写一个功能,将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文档的更多相关文章
- 使用OpenOffice.org将各类文档转为PDF
http://blog.zhaojie.me/2010/05/convert-document-to-pdf-via-openoffice.html ————————————————————————— ...
- java实现MsOffice文档向pdf转化之OpenOffice软件
本篇文档实现功能,将word和excel,ppt文档的文件转化成pdf格式的文档 第一步:下载第三方软件OpenOffice软件(不同的操作系统下载不同的版本) 下载地址:http://www.ope ...
- Java实现office文档与pdf文档的在线预览功能
最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...
- 在linux中使用php将word文档转为pdf
使用本教程需要在linux中安装openoffice,改页面中有详细的安装与使用教程(http://www.cnblogs.com/sustudy/p/3999628.html). 既然,你看了该教程 ...
- JAVA实现在线查看PDF和office文档
一个项目中要做一个在线预览附件(和百度文库差不多)的小功能点,楼主在开发过程中踩了很多坑的同时也总结了一些方法,仅供广大猿友参考,那么要实现这个小功能,目前主要是有如下3种可行的实现方式,下面先说实现 ...
- Java 使用 jacob 将 word 文档转换为 pdf 文件
网上查询了许许多多的博客,说利用 poi.iText.Jsoup.jdoctopdf.使用 jodconverter 来调用 openOffice 的服务来转换等等,我尝试了很多种,但要么显示不完全, ...
- Java实现web在线预览office文档与pdf文档实例
https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...
- Java中几种office文档转pdf的方式
最近公司要做office的文档,搜集了几种office文档转pdf的方式,简单的做下总结 我主要尝试了三种方式:openoffice,aspose,jacob 对他们进行了大文件,小文件,在linux ...
- office文档转pdf
这里贴下代码吧,没啥好说的. using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
随机推荐
- iOS网络编程笔记——社交网络编程
社交网络编程主要使用iOS提供的social框架,目前social框架主要分为两个类: (1)SLComposeViewController提供撰写社交信息(如微博信息)的视图控制器,由iOS系统提供 ...
- js应用之实现图片切换效果
数组的操作与应用 数组的定义 var 数组名=new Array(); //创建空数组 var 数组名=new Array(size);//创建指定数组长度的数组 var 数组名=new Array( ...
- php中数据库服务器连接类库文件的编写
<!--数据库服务器连接类库文件的编写--> <?php class mysql{ //连接服务器.数据库以及执行Sql语句的类库 public $database; public ...
- Android权限解释
属性 说明 android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问 "properties"表在checkin数据库中,改值可以修改 ...
- iOS开发之UIPopoverController
1.概述 是iPad开发中常见的一种控制器(在iPhone上不允许使用),跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIViewController,它只占用部分屏幕空间来呈现信 ...
- iOS开发之JSON解析
JSON解析步骤: - (NSArray *)products { if (_products == nil) { //第一步:获取JSON文件的路径: NSString *path = [[NSBu ...
- 不使用回调函数的ajax请求实现(async和await简化回调函数嵌套)
在常规的服务器端程序设计中, 比如说爬虫程序, 发送http请求的过程会使整个执行过程阻塞,直到http请求响应完成代码才会继续执行, 以php为例子 $url = "http://www. ...
- 【前端童鞋看过来!】给大家分享网盘里前端相关书籍,主要是和网络通信(HTTP/TCP/IP)及javascript相关的
百度云链接:https://pan.baidu.com/s/1kUPdf5H(无密码) 截图: <HTTP权威指南> [豆瓣书评]:此书第一部分是HTTP的概略,如果你没有时间,通读第一部 ...
- Tcl与Design Compiler (十)——其他的时序约束选项(一)
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 之前讲了基本的时序路径 ...
- MYSQL优化_MYSQL分区技术[转载]
MySQL分区技术是用来减轻海量数据带来的负担,解决数据库性能下降问题的一种方式,其他的方式还有建立索引,大表拆小表等等.MySQL分区按照分区的参考方式来分有RANGE分区.LIST分区.HASH分 ...