日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jodconverter 远程配置_jodconverter支持什么格式转换

發布時間:2023/12/31 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jodconverter 远程配置_jodconverter支持什么格式转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

展開全部

http://nopainnogain.iteye.com/blog/819432

[JODConverter]word轉pdf心得分享(轉)

文檔視頻轉為flash格式在線播放

OfficeSocketLinuxOpenSourceExcel

官方網站: http://www.artofsolving.com/opensource/jodconverter

下載地點:

e68a84e8a2ad62616964757a686964616f31333361303062http://www.artofsolving.com/opensource/jodconverter

http://zh.openoffice.org/new/zh_tw/downloads.html

目前版本: JODConverter v2.2.1, OpenOffice v3.0.0

使用需求: JDK1.4以上, 安裝OpenOffice v2.0.3以上

基本簡介:

JODConverter主要的功能是用來做各種檔案的轉換. 目前測試過, Word,Excel,PowerPoint轉PDF都是沒問題的.

因為JODConverter是透過OpenOffice來做轉換, 所以使用前需要先安裝OpenOffice, 并且將OpenOffice的Service啟動, 才可以使用.

OpenOffice.org具有一個鮮為人知的特性就是其能夠作為一個服務來運行,而這種能力具有一定的妙用。舉例來說,你可以把openoffice.og變成一個轉換引擎,利用這種轉換引擎你可以通過網絡接口或命令行工具對文件的格式進行轉換,JODConverter可以幫助你實現OpenOffice.org的這種文件轉換功能。

為了將OpenOffice.org作為一個轉換引擎,你必須以服務的方式將它啟動,使它在某個特定的端口監聽連接,在Linux平臺你可以用如下的命令啟動openoffice.org:

soffice -headless -accept=”socket,port=8100;urp;”(我在linux下使用soffice -headless -accept=”socket,host=127.0.0.1,port=8100;urp;”,open office server是開啟來了,但是文件轉換不成功,異常是連接失敗,這個很可以是你用jodconverter來轉換時使用的是localhost,而當你的機有host配置文件里沒有將localhost與127.0.0.1對應起來時,就無法解析了,這里可以修改host文件或去掉host=127.0.0.1,這樣我試過可以成功)

在Windows平臺, 使用如下命令:

“C:\Program Files\OpenOffice.org 2.2\program\soffice” -accept=”socket,port=8100;urp;”

使用教學:

Step1: 安裝OpenOffice

Step2: 啟動OpenOffice Service

1 cd C:\Program Files\OpenOffice.org 3\program

2 soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

Step3:將JODConverter的Jar檔放進專案中的Library, 請檢查你的專案是否包含以下的Jar檔:

jodconverter-2.2.1.jar

jurt-2.3.0.jar

xstream-1.2.2.jar

ridl-2.3.0.jar

commons-io-1.3.1.jar

juh-2.3.0.jar

slf4j-api-1.4.3.jar

unoil-2.3.0.jar

slf4j-jdk14-1.4.3.jar

Step4: 準備一個word檔放在c:/document.doc

Step5: 執行以下程式

Java代碼

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 JodDemo {

public static void main(String[] args) throws Exception{

File inputFile = new File("c:/document.doc");

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

// connect to an OpenOffice.org instance running on port 8100

OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

connection.connect();

// convert

DocumentConverter converter = new OpenOfficeDocumentConverter(connection);

converter.convert(inputFile, outputFile);

// close the connection

connection.disconnect();

}

}

程式說明:

程式的部份相當簡潔, 特別要注意的地方是第12行連線的port必須與你啟動OpenOffice的Port相同,

另外JODConverter預設是用副檔名作文件種類的判斷, 所以副檔名必須要正確才行.

如果副檔名比較特別的話, 就必須在convert()的時候強制指定Document Type.

心得:

JODConverter使用起來相當方便, 官網也提供War檔讓JODConverter變成Web Service提供給不同的語言來呼叫.

特別要注意的是, OpenOffice Service并不是ThreadSafe的, 多個Web AP在使用的時候必須要注意.

那我也來補充一些好了

之前也在試這個檔案轉換的程式

程式最好加上 try-catch

因為之前發現有些檔案 format 不能轉,發生 Exception 后,connection 不會自動切斷,程序會hand 住

所以改成如下方式:

Java代碼

public void convert(String input, String output){

File inputFile = new File(input);

File outputFile = new File(output);

OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

try {

connection.connect();

DocumentConverter converter = new OpenOfficeDocumentConverter(connection);

converter.convert(inputFile, outputFile);

} catch(Exception e) {

e.printStackTrace();

} finally {

try{ if(connection != null){connection.disconnect(); connection = null;}}catch(Exception e){}

}

}

再來,明明就是 open office 的檔案,卻生不能轉換的問題。例如:*.STW, *.SXD, *.ODF 等,後來才知道可以自行指定來源檔和輸出檔的 mime-type,程式如下:

Java代碼

public void convertSTW(String input, String output){

DocumentFormat stw = new DocumentFormat("OpenOffice.org 1.0 Template", DocumentFamily.TEXT, "application/vnd.sun.xml.writer", "stw");

DefaultDocumentFormatRegistry formatReg = new DefaultDocumentFormatRegistry();

DocumentFormat pdf = formatReg.getFormatByFileExtension("pdf");

File inputFile = new File(input);

File outputFile = new File(output);

OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

try {

connection.connect();

DocumentConverter converter = new OpenOfficeDocumentConverter(connection);

converter.convert(inputFile, stw, outputFile, pdf);

} catch(Exception e) {

e.printStackTrace();

} finally {

try{ if(connection != null){connection.disconnect(); connection = null;}}catch(Exception e){}

}

}

上面的程式是轉換 STW 到 PDF,如果是 SXD / ODF 則只需要變更 DocumentFormat 的內容即可。

Java代碼

DocumentFormat sxd = new DocumentFormat("OpenOffice.org 1.0 Drawing", DocumentFamily.DRAWING, "application/vnd.sun.xml.sraw", "sxd");

DocumentFormat odf = new DocumentFormat("OpenDocument Math", DocumentFamily.TEXT, "application/vnd.oasis.opendocument.formula", "odf");

所有 default support 的 DocumentFormat 都在 com.artofsolving.jodconverter.DefaultDocumentFormatRegistry 里,但并非所有 open office 支援的 file format 都有,所以要像上面的方法自行去定義 DocumentFormat,至于它里面的參數可以從jodconverter-2.2.2.jar包的com.artofsolving.jodconverter包下的document-formats.xml文件里面得到,這樣就可以完成多種格式的轉換,如open office,ms office , wps office及所有的純文本文件。

在此獻給所有需要作 File Convert 的人試試。

免錢的,最好用。還有 source code 可以自己改。

另 將圖片文件放入 word中可直接用word自帶 pdf 轉化工具進行轉化!

本回答被提問者采納

已贊過

已踩過<

你對這個回答的評價是?

評論

收起

總結

以上是生活随笔為你收集整理的jodconverter 远程配置_jodconverter支持什么格式转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。