資源簡介
需要安裝安裝openofice和SWFTools 軟件,實測可用。
用以下命令啟動OpenOffice服務
CMD命令進入OpenOffice\program
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
還有jar包必須換成jodconverter-2.2.2版本,在項目中我使用了maven,但maven庫中最新版本是2.2.1,這個請自行更換,jar包在項目里了
代碼片段和文件信息
package?com.pdfword.test;
import?java.io.BufferedInputStream;
import?java.io.File;
import?java.io.IOException;
import?java.io.InputStream;
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;
import?com.artofsolving.jodconverter.openoffice.converter.StreamOpenOfficeDocumentConverter;
??
??
/**
?*?doc?docx格式轉換?
?*/
public?class?DocConverter?{
????private?static?final?int?environment?=?1;//?環境?1:Windows?2:Linux
????private?String?fileString;//?(只涉及PDF2swf路徑問題)
????private?String?outputPath?=?““;//?輸入路徑?,如果不設置就輸出在默認?的位置
????private?String?fileName;
????private?File?pdfFile;
????private?File?swfFile;
????private?File?docFile;
??
????public?DocConverter(String?fileString)?{
????????ini(fileString);
????????System.out.println(“文件路徑“+fileString);
????}
??
????/**
?????*?*?重新設置file
?????*
?????*?@param?fileString
?????*????????????32.
?????*/
????public?void?setFile(String?fileString)?{
????????ini(fileString);
????}
??
????/**
?????*??*?初始化
?????*
?????*?@param?fileString
?????*??????????
?????*/
????private?void?ini(String?fileString)?{
????????this.fileString?=?fileString;
????????fileName?=?fileString.substring(0?fileString.lastIndexOf(“.“));
????????docFile?=?new?File(fileString);
????????pdfFile?=?new?File(fileName+?“.pdf“);
????????swfFile?=?new?File(fileName+?“.swf“);
????}
??
????/**
?????*??轉為PDF
?????*
?????*?@param?file
?????*??????
?????*/
????private?void?doc2pdf()?throws?Exception?{
????????if?(docFile.exists())?{
????????????if?(!pdfFile.exists())?{
????????????????OpenOfficeConnection?connection?=?new?SocketOpenOfficeConnection(8100);
????????????????try?{
????????????????????connection.connect();
????????????????????DocumentConverter?converter?=?new?OpenOfficeDocumentConverter(
????????????????????????????connection);
????????????????????converter.convert(docFile?pdfFile);
????????????????????//?close?the?connection
????????????????????connection.disconnect();
????????????????????System.out.println(“****pdf轉換成功,PDF輸出:?“+?pdfFile.getPath()?+?“****“);
????????????????}?catch?(java.net.ConnectException?e)?{
????????????????????e.printStackTrace();
????????????????????System.out.println(“****swf轉換器異常,openoffice?服務未啟動!****“);
????????????????????throw?e;
????????????????}?catch?(com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException?e)?{
????????????????????e.printStackTrace();
????????????????????System.out.println(“****swf轉換器異常,讀取轉換文件?失敗****“);
????????????????????throw?e;
????????????????}?catch?(Exception?e)?{
????????????????????e.printStackTrace();
????????????????????throw?e;
????????????????}
????????????}?else?{
????????????????System.out.println(“****已經轉換為pdf,不需要再進行轉化?****“);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-01-05?14:14??pdfWord\
?????文件????????1340??2018-01-05?15:42??pdfWord\.classpath
?????文件????????1216??2018-01-05?14:14??pdfWord\.project
?????目錄???????????0??2018-01-05?17:01??pdfWord\.settings\
?????文件?????????575??2018-01-05?14:14??pdfWord\.settings\.jsdtscope
?????文件?????????123??2018-01-08?13:50??pdfWord\.settings\org.eclipse.core.resources.prefs
?????文件?????????736??2018-01-05?17:01??pdfWord\.settings\org.eclipse.jdt.core.prefs
?????文件?????????117??2018-01-05?17:01??pdfWord\.settings\org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs
?????文件??????????90??2018-01-05?14:13??pdfWord\.settings\org.eclipse.m2e.core.prefs
?????文件?????????746??2018-01-05?14:25??pdfWord\.settings\org.eclipse.wst.common.component
?????文件?????????252??2018-01-05?14:14??pdfWord\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件??????????49??2018-01-05?14:14??pdfWord\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2018-01-05?14:14??pdfWord\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????文件??????????50??2018-01-05?14:14??pdfWord\.settings\org.eclipse.wst.validation.prefs
?????文件??????????87??2018-01-05?17:01??pdfWord\.settings\org.eclipse.wst.ws.service.policy.prefs
?????文件????????4021??2018-01-08?17:20??pdfWord\pom.xm
?????目錄???????????0??2018-01-08?11:46??pdfWord\src\
?????目錄???????????0??2018-01-08?11:46??pdfWord\src\lib\
?????目錄???????????0??2018-01-05?14:25??pdfWord\src\main\
?????目錄???????????0??2018-01-05?15:56??pdfWord\src\main\java\
?????目錄???????????0??2018-01-05?15:56??pdfWord\src\main\java\com\
?????目錄???????????0??2018-01-05?15:56??pdfWord\src\main\java\com\pdfword\
?????目錄???????????0??2018-01-09?09:22??pdfWord\src\main\java\com\pdfword\test\
?????文件????????7751??2018-01-08?11:29??pdfWord\src\main\java\com\pdfword\test\DocConverter.java
?????目錄???????????0??2018-01-05?14:13??pdfWord\src\main\resources\
?????目錄???????????0??2018-01-08?14:36??pdfWord\src\main\webapp\
?????文件??????628850??2018-01-08?09:40??pdfWord\src\main\webapp\FlexPaperViewer.swf
?????文件????????1322??2018-01-10?17:35??pdfWord\src\main\webapp\index.jsp
?????目錄???????????0??2018-01-08?09:34??pdfWord\src\main\webapp\js\
?????文件???????17186??2018-01-08?09:34??pdfWord\src\main\webapp\js\flexpaper.js
?????文件??????628850??2018-01-08?09:34??pdfWord\src\main\webapp\js\FlexPaperViewer.swf
............此處省略96個文件信息
評論
共有 條評論