前言:
功能介绍
要求:预览本地上传的文件,在浏览器中预览。
实现:1.使用Apache OpenOffice中转换工具将office转换为pdf;
2.将pdf中浏览模式设置为在浏览器中打开,即可实现此功能。
注意:改服务在linux中可用。
步骤:
1.安装OpenOffice;
2.启动OpenOffice服;
3.写转换的代码;
1.安装OpenOffice
windows安装
1.在
http://www.openoffice.org/download/index.html下载最新版本openoffice;
选择系统和版本号,并且选择完整安装;
2.直接在windows系统下安装,并记住安装路径;
注:安装到默认路径下即可,一般为C:\Program Files (x86)\OpenOffice 4;
如果自定义路径,可能会找不到安装包的问题,可以删除后多安装几遍,实在解
决不了,就安装到默认路径下(我在安装时,就波折百出)。
Linux安装
1.linux基础--deb,rpm文件
(1).rpm包-在红帽LINUX、SUSE、Fedora可以直接进行安装,但在Ubuntu中却无法识别;
(2).deb包-是Ubuntu的专利,在Ubuntu中双击deb包就可以进入自动安装进程;
2.安装
有了1的解释我们可以根据系统知道下载那个包了。
在
http://openoffice.apache.org/downloads.html地址中下载Linux安装包;
redhat32位包下载
http://dl.iteye.com/topics/download/8fc745ef-e99e-309b-be93-a437c38855ce
(1)我用的redhat所以下载.rpm格式的包。
如图:
(2)安装
完整步骤查看
http://www.openoffice.org/zhcn/download/common/instructions.html
1.使用下面的命令:tar -xvzf “linux包的名字”.tar.gz
"linux包的名字"应该替换你刚刚下载的tar.gz包的前一部分,也就是除了tar.gz以外的那
一串字符.这将创建一个安装目录。
安装目录的名称很可能会有语言名的缩写,例如,en-US.
su到 root 用户,如果有必要,浏览到Apache OpenOffice的安装目录(解压缩后的档案的位置).
您可能需要以root身份运行rpm命令来安装软件。
cd到安装目录下RPMS子目录.
你应该能看到许多rpm包和一个名为"desktop-integration"的子目录.
2.输入rpm -Uvih *rpm,安装新版本.
3.默认将会安装/升级Apache OpenOffice到/opt目录.
2.启动OpenOffice服务
1.windwos启动命令
(1)打开dos命令窗口
进入到 openoffice 安装目录
进入${openoffice}/program
执行:soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
其中8100为openoffice服务端口号;
执行:netstat -ano|findstr 8100
检查8100服务是否启动,如果没有启动成功,检查命令,重新执行。
成功如图所示:
2.linux启动命令
进入到 openoffice 安装目录 | # cd /opt/openoffice4
进入${openoffice}/program | # cd /opt/openoffice4/program
执行:# soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
其中8100为openoffice服务端口号;
执行:netstat -ano | grep 8100
检查8100服务是否启动,如果没有启动成功,检查命令,重新执行。
3.转换代码
(网上很多资料,自己查,我也是拔下来的)
package com.test.util;
import java.io.File;
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;
public class OfficeCoverPdfSwf {
public static int add(int a , int b){
return a+b;
}
/**
* 转为PDF
*
* @param file
*/
public static void doc2pdf(File originFilePath, File pfdFilePath) throws Exception {
if (originFilePath.exists()) {
if (!pfdFilePath.exists()) {
OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1",8100);
try {
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(originFilePath, pfdFilePath);
// close the connection
connection.disconnect();
System.out.println("****pdf转换成功,PDF输出:" + pfdFilePath.getPath()+ "****");
} catch (java.net.ConnectException e) {
e.printStackTrace();
System.out.println("****swf转换器异常,openoffice服务未启动!****");
throw e;
} catch (Exception e) {
e.printStackTrace();
throw e;
}
} else {
System.out.println("****已经转换为pdf,不需要再进行转化****");
}
}
}
// static String loadStream(InputStream in) throws IOException {
//
// int ptr = 0;
// in = new BufferedInputStream(in);
// StringBuffer buffer = new StringBuffer();
//
// while ((ptr = in.read()) != -1) {
// buffer.append((char) ptr);
// }
//
// return buffer.toString();
// }
/**
* 转换主方法
*/
// @SuppressWarnings("unused")
// public boolean conver(File originalString, File pdfString) {
// PropertiesUtil propertiesUtil = new PropertiesUtil("config.properties");
// final int ENVIRONMENT = Integer.valueOf(propertiesUtil.readProperty("openoffice.environment"));
//
// if (ENVIRONMENT == 1) {
// System.out.println("****swf转换器开始工作,当前设置运行环境windows****");
// } else {
// System.out.println("****swf转换器开始工作,当前设置运行环境linux****");
// }
// try {
// doc2pdf(originalString,pdfString);
// } catch (Exception e) {
// e.printStackTrace();
// return false;
// }
// return true;
// }
/**
* 设置输出路径
*/
public static void main(String args[]) throws Exception{
File originFile = new File("D://Java//fileConverTest//original//aaa.docx");
File pdfFile = new File("D://Java//fileConverTest//swf//test2222.pdf");
OfficeCoverPdfSwf officeCoverPdfSwf = new OfficeCoverPdfSwf();
officeCoverPdfSwf.doc2pdf(originFile, pdfFile);
}
}
注意:代码自己优化吧,这里只是网上扒找的例子;
- 大小: 41.8 KB
- 大小: 70.2 KB
- 大小: 96 KB
- 大小: 46.4 KB
分享到:
相关推荐
openoffice word转pdf excel转pdf ppt转pdf
含有在线预览需要的各种包,以及文件,不是整体系统。由于openoffice文件太大,此包中没有
OpenOffice自动生成PDF文档(带目录索引)
文件中包含openoffice所需的jar包以及前端预览pdf所需的pdf.js
java实现附件预览(openoffice+PDF.js),将office文档,通过openoffice工具转换为PDF文件,使用PDF.js进行前端展示 是对openoffice+swftools+flexpaper的升级版,减少一次swf文件转换,及flexpaper只能预览十页内容...
Linux下安装OpenOffice.pdf
本人刚做了个项目,实现功能Linux,window)openOffice+pdf2swf+flexpaper(类百度文库) :
很多人都已经不用微软的办公软件了,改用了OPENOFFICE了,这个插件是OPENOFFICE完美修改PDF文档的工具
OpenOffice office转pdf需要的jar
openoffice转pdf和html代码和一些lib,pdf2htmlEX程序
文档在线预览,java使用openoffice转换PDF的工具类及相关jar包。
基于Java,利用OpenOffice转换office为PDF, 内附有jar包,java实现,OpenOffice下载地址,及OpenOffice在Linux下的安装实现。
OpenOffice转换Office文档为PDF、HTML,将word,ppt转成html,Excel转为Html
我从官网下载openoffice4.1.0版的,资源包含有openoffice相关jar包以及java调用文件和部署文档
支持将 .doc|.docx|.xls|.xlsx|.ppt|.pptx文件 转化为pdf文件 linux安装包: Apache_OpenOffice_4.1.2_Linux_x86_install-rpm_zh-CN.tar.gz Apache_OpenOffice_4.1.7_Linux_x86-64_install-rpm_zh-CN.tar.gz ...
openoffice转pdf所需jodconverter-2.2.2,2,2,1版本不支持xlsx、docx、pptx格式的文档转换pdt。
个人整理的openOffice与pdf2swf与flashpaper弄的类似百度在线浏览文档主要类与工具,只需要下载 openOffice 3.4.1 安装,注意版本一定要与调用该工具的ddl版本一致,不然会出现 外部组件错误,我的压缩包里的调用sdk ...
相关资源 http://wiki.services.openoffice.org/wiki/API/Samples/Java/Office/DocumentHandling ... ...
详细可以查看博客文档http://blog.csdn.net/wulei_longhe/article/details/8096964