首页 > 仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf...

仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf...

第三步,使用JODConverter将office文档转换为pdf

      JODConverter是一个java的OpenDucument文件转换器,可以进行许多文件格式的转换,它利用

OpenOffice来进行转换工作,它能进行以下的转换工作:

     1.Microsoft Office格式转换为OpenDucument,以及OpenDucument转换为Microsoft Office

     2.OpenDucument转换为PDF,Word、Excel、PowerPoint转换为PDF,RTF转换为PDF等。

它是一个开源项目。

 

笔者的项目是在MyEclipse下开发的。

下载最新版的jodconverter-2.2.2,把lib文件夹的包导入到你的DocConverter项目的lib文件夹内。

(假设你的项目是DocConverter)

新建DOC2PDFUtil.java

package com.iori.webapp.util;

import java.io.File;

import java.io.IOException;

import java.net.ConnectException;

import java.util.Date;



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 DOC2PDFUtil extends java.lang.Thread {

private File inputFile;// 需要转换的文件

private File outputFile;// 输出的文件



public DOC2PDFUtil(File inputFile, File outputFile) {

this.inputFile = inputFile;

this.outputFile = outputFile;

}



public void docToPdf() {

Date start = new Date();



OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

try {

connection.connect();

DocumentConverter converter = new OpenOfficeDocumentConverter(connection);

converter.convert(inputFile, outputFile);

} catch (ConnectException cex) {

cex.printStackTrace();

} finally {

// close the connection

if (connection != null) {

connection.disconnect();

connection = null;

}

}

}



/**

* 由于服务是线程不安全的,所以……需要启动线程

*/

public void run() {

this.docToPdf();

}



public File getInputFile() {

return inputFile;

}



public void setInputFile(File inputFile) {

this.inputFile = inputFile;

}



public File getOutputFile() {

return outputFile;

}



public void setOutputFile(File outputFile) {

this.outputFile = outputFile;

}



/**

* 测试main方法

*
@param args

*/

public static void main(String[] args) {

File inputFile = new File("c://temp//333.xls");

File outputFile = new File("c://temp//333.pdf");

DOC2PDFUtil dp=new DOC2PDFUtil(inputFile,outputFile);

dp.start();

}

}

在DOC2PDFUtil.java,右键属性 - >Run as - >Java Application ,输出main的测试结果。

 

在jsp中执行

新建MyDOC2PDFTest.jsp

<%@ page import="java.io.*"%>

<%@ page import="com.artofsolving.jodconverter.openoffice.connection.*"%>

<%@ page import="com.artofsolving.jodconverter.openoffice.connection.*"%>

<%@ page import="com.artofsolving.jodconverter.openoffice.converter.*"%>

<%@ page import="com.artofsolving.jodconverter.*"%>

<%@ page import="java.util.*"%>

<%@ page import="com.iori.webapp.util.*"%>



<%

File inputFile = new File("c://temp//333.xls");

File outputFile = new File("c://temp//333.pdf");

DOC2PDFUtil dp=new DOC2PDFUtil(inputFile,outputFile);

dp.start();

%>





Simple jsp page

Place your content here

在项目DocConverter根目录,右键属性 - >Run as - >MyEclipse Server Application

发布到之前安装的Tomcat 6.0的根目录,然后用url路径访问:Http://localhost:8080/DocConverter/MyDOC2PDFTest.jsp 进行测试。

 

JODConverter将office文档转换pdf,用到的代码如下:

File inputFile = new File("c://temp//333.xls");

File outputFile = new File("c://temp//333.pdf");



// 链接 一个运行在8100端口的OpenOffice.org 实例

OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

connection.connect();



// 创建一个converter对象并转换格式

DocumentConverter converter = new OpenOfficeDocumentConverter(connection);

converter.convert(inputFile, outputFile);



// 关闭连接

connection.disconnect();





 仿百度文库方案[openoffice.org 3+swftools+flexpaper](一) 之 tomcat6.0+jdk1.6环境配置

 仿百度文库方案[openoffice.org 3+swftools+flexpaper](二) 之 安装openoffice.org

 仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf

仿百度文库方案[openoffice.org 3+swftools+flexpaper](四) 之 使用swftools将pdf转换为swf
仿百度文库方案[openoffice.org 3+swftools+flexpaper](五) 之 转换pdf的同时,进一步转为swf
仿百度文库方案[openoffice.org 3+swftools+flexpaper](六) 之 flexpaper在线浏览swf文档
仿百度文库方案[openoffice.org 3+swftools+flexpaper](七) 之 使用iText将jpg、jpeg、png转换为pdf
仿百度文库方案[openoffice.org 3+swftools+flexpaper](八) 之 常见问题集FAQ

转载于:https://www.cnblogs.com/star-studio/archive/2011/12/09/2282411.html

更多相关: