前言:
功能介绍
要求:预览本地上传的文件,在浏览器中预览。
实现: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将PDF文件转换为图片。OpenOffice是一款免费且开源的办公软件套件,它包含了文字处理、电子表格、演示文稿等多种组件。尽管PDF通常用于保持文档的原始格式和布局,但...
本主题聚焦于如何使用OpenOffice库进行PDF转换,特别是在Java环境下。OpenOffice是一款开源的办公软件套件,其提供了API接口,使得开发者能够通过编程方式控制OpenOffice进行文档操作,包括转换为PDF格式。 首先,...
通常,这个过程可以通过调用OpenOffice的API或者命令行工具(如pdf2swf.exe)来实现。 要实现基于FlexPaper的在线预览系统,你需要完成以下步骤: 1. 安装和配置OpenOffice:确保你有一个运行的OpenOffice实例,...
2. 打开Word文档:使用DocumentLoader服务加载Word文档到OpenOffice的内存中。 3. 转换操作:调用DocumentConverter的convert方法,指定源文档路径、目标PDF路径以及转换选项。 4. 关闭连接:完成转换后,记得关闭...
总结起来,"openfile相关ja及js"指的是利用OpenOffice的Java库处理文件,结合PDF.js在浏览器端预览PDF文档。这个过程涵盖了服务器端的文件转换和前端的PDF渲染,对于开发支持多种格式文件预览的Web应用具有重要意义...
2. **打开Word文档**:启动OpenOffice Writer,然后打开你需要转换的.doc文件。 3. **设置输出选项**:点击菜单栏上的“文件” -> “导出”,在弹出的对话框中选择PDF作为输出格式。你可以在这里设定一些转换选项,...
在本篇讨论中,我们将深入探讨如何利用OpenOffice实现PDF文件的上传预览功能,同时也会提及到一个可能用到的工具——`PDF预览JAR`。 首先,要实现PDF预览,我们需要了解OpenOffice的Java API(JODConverter)。...
在这个项目中,我们利用了三个关键组件:OpenOffice,pdf2swf,以及FlexPaper。下面将详细介绍这三个工具及其在项目中的应用。 首先,OpenOffice是一个开源的办公套件,它可以处理多种格式的文档,包括Word、Excel...
### OpenOffice自动生成PDF文档(带目录索引) #### 一、OpenOffice简介与功能概述 OpenOffice是一款开源且免费的办公套件,它能够提供类似Microsoft Office的功能,包括文字处理(Writer)、电子表格(Calc)、...
在提供的"Office2PDF"压缩包文件中,可能包含了示例代码或者转换工具的相关资源。解压并研究这些文件,可以帮助更好地理解和实现OpenOffice到Pdf的转换功能。 总的来说,通过Java和OpenOffice的结合,我们可以在...
将"doc", "docx", "xls", "xlsx", "ppt", "pptx",txt等转化为PDF,原理是用到我们的工具OpenOffice。还有PDF转化img图片。具体操作请看我博客"doc", "docx", "xls", "xlsx", "ppt", "pptx",txt。等文件转化为pdf
6. **集成OpenOffice和PDF2HTMLEX**:开发者可以结合OpenOffice和PDF2HTMLEX的功能,先用OpenOffice将文档转换为PDF,再利用PDF2HTMLEX将PDF转换为HTML,以达到最佳的网络显示效果。 7. **库的使用**:在编程环境中...
`OpenOffice office转pdf jar`是指使用Java语言开发的库,这个库可以与OpenOffice服务进行交互,完成从OpenOffice支持的文档格式到PDF的转换。 在Java环境中,`jar`文件(Java Archive)是用于封装Java类和资源的...
2. **Java集成OpenOffice**: - 为了在Java项目中使用OpenOffice,你需要添加相应的库,如`JODConverter`,这是一个流行的Java库,用于通过OpenOffice API进行文档转换。你可以在项目的`lib`目录下放置对应的`.jar`...
java实现附件预览(openoffice+PDF.js),将office文档,通过openoffice工具转换为PDF文件,使用PDF.js进行前端展示 是对openoffice+swftools+flexpaper的升级版,减少一次swf文件转换,及flexpaper只能预览十页内容...
总之,OpenOffice提供了一个强大且灵活的工具集,能够轻松地将Office文档转换为PDF和HTML。开发者还可以利用Java API实现自动化转换,提高效率。无论是在日常办公还是开发项目中,了解如何使用OpenOffice进行文件...
Java 使用 OpenOffice 转换 PDF 和 HTML 文件是一种常见的技术需求,特别是在处理文档自动化和格式转换的场景下。OpenOffice 是一个开源的办公软件套件,它提供了API接口供开发者在程序中调用,实现对文档的操作。在...
针对“OpenOffice转换多列EXCEL为PDF行列对应解决方法”的主题,这里将详细解释这个问题及其解决方案。 在Excel中,当数据列数过多,无法在一屏或一页内完全显示时,通常会自动换行。这对于阅读和打印可能不是问题...
2. **配置JODConverter**:在Java代码中,你需要设置OpenOffice的安装路径和端口,以便JODConverter能连接到OpenOffice服务。 3. **创建转换器对象**:使用`LocalOfficeManager`或者`RemoteOfficeManager`(如果...