仿百度文库方案[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();
%>
<!-- 下面這些html可以去掉 -->
<html>
<head><title>Simple jsp page</title></head>
<body>Place your content here</body>
</html>
在項目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
總結
以上是生活随笔為你收集整理的仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 姐性感不是骚---给你场景--你给神回复
- 下一篇: 孟姜女哭长城是什么歌呢?