`
yu_duo
  • 浏览: 56843 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

openoffice2pdf

阅读更多
前言:

   功能介绍
   要求:预览本地上传的文件,在浏览器中预览。

   实现: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通常用于保持文档的原始格式和布局,但...

    使用openoffice转换PDF工具类及所有jar包

    本主题聚焦于如何使用OpenOffice库进行PDF转换,特别是在Java环境下。OpenOffice是一款开源的办公软件套件,其提供了API接口,使得开发者能够通过编程方式控制OpenOffice进行文档操作,包括转换为PDF格式。 首先,...

    flexpaper+openoffice+pdf2swf.exe

    通常,这个过程可以通过调用OpenOffice的API或者命令行工具(如pdf2swf.exe)来实现。 要实现基于FlexPaper的在线预览系统,你需要完成以下步骤: 1. 安装和配置OpenOffice:确保你有一个运行的OpenOffice实例,...

    openoffice的C#应用各种文档格式转换pdf

    2. 打开Word文档:使用DocumentLoader服务加载Word文档到OpenOffice的内存中。 3. 转换操作:调用DocumentConverter的convert方法,指定源文档路径、目标PDF路径以及转换选项。 4. 关闭连接:完成转换后,记得关闭...

    openoffice3doc转pdf

    2. **打开Word文档**:启动OpenOffice Writer,然后打开你需要转换的.doc文件。 3. **设置输出选项**:点击菜单栏上的“文件” -> “导出”,在弹出的对话框中选择PDF作为输出格式。你可以在这里设定一些转换选项,...

    (Linux,window)openOffice+pdf2swf+flexpaper

    在这个项目中,我们利用了三个关键组件:OpenOffice,pdf2swf,以及FlexPaper。下面将详细介绍这三个工具及其在项目中的应用。 首先,OpenOffice是一个开源的办公套件,它可以处理多种格式的文档,包括Word、Excel...

    openoffice实现pdf上传文件预览功能

    在本篇讨论中,我们将深入探讨如何利用OpenOffice实现PDF文件的上传预览功能,同时也会提及到一个可能用到的工具——`PDF预览JAR`。 首先,要实现PDF预览,我们需要了解OpenOffice的Java API(JODConverter)。...

    OpenOffice自动生成PDF文档(带目录索引)

    ### OpenOffice自动生成PDF文档(带目录索引) #### 一、OpenOffice简介与功能概述 OpenOffice是一款开源且免费的办公套件,它能够提供类似Microsoft Office的功能,包括文字处理(Writer)、电子表格(Calc)、...

    OpenOffice转换成Pdf

    在提供的"Office2PDF"压缩包文件中,可能包含了示例代码或者转换工具的相关资源。解压并研究这些文件,可以帮助更好地理解和实现OpenOffice到Pdf的转换功能。 总的来说,通过Java和OpenOffice的结合,我们可以在...

    利用openoffice将文档转化为PDF

    将"doc", "docx", "xls", "xlsx", "ppt", "pptx",txt等转化为PDF,原理是用到我们的工具OpenOffice。还有PDF转化img图片。具体操作请看我博客"doc", "docx", "xls", "xlsx", "ppt", "pptx",txt。等文件转化为pdf

    openoffice转pdf和html代码和一些lib

    6. **集成OpenOffice和PDF2HTMLEX**:开发者可以结合OpenOffice和PDF2HTMLEX的功能,先用OpenOffice将文档转换为PDF,再利用PDF2HTMLEX将PDF转换为HTML,以达到最佳的网络显示效果。 7. **库的使用**:在编程环境中...

    OpenOffice office转pdf需要的jar

    `OpenOffice office转pdf jar`是指使用Java语言开发的库,这个库可以与OpenOffice服务进行交互,完成从OpenOffice支持的文档格式到PDF的转换。 在Java环境中,`jar`文件(Java Archive)是用于封装Java类和资源的...

    Java用OpenOffice将office转换为PDF

    2. **Java集成OpenOffice**: - 为了在Java项目中使用OpenOffice,你需要添加相应的库,如`JODConverter`,这是一个流行的Java库,用于通过OpenOffice API进行文档转换。你可以在项目的`lib`目录下放置对应的`.jar`...

    java实现附件预览(openoffice+PDF.js)

    java实现附件预览(openoffice+PDF.js),将office文档,通过openoffice工具转换为PDF文件,使用PDF.js进行前端展示 是对openoffice+swftools+flexpaper的升级版,减少一次swf文件转换,及flexpaper只能预览十页内容...

    OpenOffice转换Office文档为PDF、HTML

    总之,OpenOffice提供了一个强大且灵活的工具集,能够轻松地将Office文档转换为PDF和HTML。开发者还可以利用Java API实现自动化转换,提高效率。无论是在日常办公还是开发项目中,了解如何使用OpenOffice进行文件...

    java使用openoffice转换pdf和html文件

    Java 使用 OpenOffice 转换 PDF 和 HTML 文件是一种常见的技术需求,特别是在处理文档自动化和格式转换的场景下。OpenOffice 是一个开源的办公软件套件,它提供了API接口供开发者在程序中调用,实现对文档的操作。在...

    Openoffice转换多列EXCEL为PDF行列对应解决方法

    针对“OpenOffice转换多列EXCEL为PDF行列对应解决方法”的主题,这里将详细解释这个问题及其解决方案。 在Excel中,当数据列数过多,无法在一屏或一页内完全显示时,通常会自动换行。这对于阅读和打印可能不是问题...

    java OpenOffice wordExcel转换PDF

    2. **配置JODConverter**:在Java代码中,你需要设置OpenOffice的安装路径和端口,以便JODConverter能连接到OpenOffice服务。 3. **创建转换器对象**:使用`LocalOfficeManager`或者`RemoteOfficeManager`(如果...

    OPENOFFICE完美修改PDF文档

    很多人都已经不用微软的办公软件了,改用了OPENOFFICE了,这个插件是OPENOFFICE完美修改PDF文档的工具

Global site tag (gtag.js) - Google Analytics