版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲docdocx等文件格式利用openoffice转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
此过程涉及软件(实测)
openoffice3.2(window)
swftools-2011-01-23-1815.exe(window)
openoffice3.1.1(linux)
swftools-2011-01-23-1815.tar.gz(linux)
jar包jodconverter-2.2.2(里面lib目录下含多个要用到的jar文件)
flexpaper1.4.0(直接复制过来,项目上运行成功,本地运行还没成功)
FlexPaper_1.4.5_flash(网上下载的最新版本没试过,二选一即可)
附上自己写的java转换DemoDocConverter.java
importjava.io.BufferedInputStream;
importjava.io.File;
importjava.io.IOException;
importjava.io.InputStrem;
importcom.artofsolving.jodconverter.DocumentConverter;
importcom.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
importcom.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
importcom.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
/**
*docdocx格式转换
*@authorAdministrator
*
*/
publicclassDocConverter{
privatestaticfinalintenvironment=1;//环境1:windows2:linux(只涉及pdf2swf路径问题)
privateStringfileString;
privateStringoutputPath="";//输入路径,如果不设置就输出在默认的位置
privateStringfileName;
privateFilepdfFile;
privateFileswfFile;
privateFiledocFile;
publicDocConverter(StringfileString){
ini(fileString);
}
/**
*重新设置file
*@paramfileString
*/
publicvoidsetFile(StringfileString){
ini(fileString);
}
/**
*初始化
*@paramfileString
*/
privatevoidini(StringfileString){
this.fileString=fileString;
fileName=fileString.substring(0,fileString.lastIndexOf("."));
docFile=newFile(fileString);
pdfFile=newFile(fileName+".pdf");
swfFile=newFile(fileName+".swf");
}
/**
*转为PDF
*@paramfile
*/
privatevoiddoc2pdf()throwsException{
if(docFile.exists()){
if(!pdfFile.exists()){
OpenOfficeConnectionconnection=newSocketOpenOfficeConnection(8100);
try{
connection.connect();
DocumentConverterconverter=newOpenOfficeDocumentConverter(connection);
converter.convert(docFile,pdfFile);
//closetheconnection
connection.disconnect();
System.out.println("****pdf转换成功,PDF输出:"+pdfFile.getPath()+"****");
}catch(.ConnectExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
System.out.println("****swf转换器异常,openoffice服务未启动!****");
throwe;
}catch(com.artofsolving.jodconverter.openoffice.connection.OpenOfficeExceptione){
e.printStackTrace();
System.out.println("****swf转换器异常,读取转换文件失败****");
try{
doc2pdf();
pdf2swf();
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
returnfalse;
}
if(swfFile.exists()){
returntrue;
}else{
returnfalse;
}
}
/**
*返回文件路径
*@params
*/
publicStringgetswfPath(){
if(swfFile.exists()){
StringtempString=swfFile.getPath();
tempString=tempString.replaceAll("\\\\","/");
returntempString;
}else{
return"";
}
}
/**
*设置输出路径
*/
publicvoidsetOutputPath(StringoutputPath){
this.outputPath=outputPath;
if(!outputPath.equals("")){
StringrealName=fileName.substring(fileName.lastIndexOf("/"),fileName.lastIndexOf("."));
if(outputPath.charAt(outputPath.length())=='/'){
swfFile=newFile(outputPath+realName+".swf");
}else{
swfFile=newFile(outputPath+realName+".swf");
}
}
}
publicstaticvoidmain(Strings[]){
DocConverterd=newDocConverter("D:/data/FTP/midlongforecast/midweatherforecast/20010202.xml");
d.conver();
}
}
以上即是所有用到的转换需要用到的文件
windows安装过程省略,linux下安装swftools命令
解压到目录后
./configure
make
makeinstall
无论在哪个平台安装完以上两个软件后
需要在将openoffice以服务方式启动
Window启动方式
cdC:\ProgramFiles\OpenO3\program
soffice-headless-accept="socket,host=,port=8100;urp;"–nofirststartwizard
Linux启动
soffice
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年江孜县三年级数学第一学期期末考试模拟试题含解析
- 2024年湖南湘潭市应急管理局招聘合同制人员12人历年高频500题难、易错点模拟试题附带答案详解
- 2024年湖南永州江华瑶族自治县事业单位招聘141人历年高频500题难、易错点模拟试题附带答案详解
- 2024年湖南株洲市中心医院招聘15人高频500题难、易错点模拟试题附带答案详解
- 2024年湖南怀化市芷江县企事业单位引进人才35人历年高频500题难、易错点模拟试题附带答案详解
- 2024年湖南张家界市引进急需紧缺人才300人历年高频500题难、易错点模拟试题附带答案详解
- 2024年湖南常德市临澧县委组织部部分县直单位选调28人历年高频500题难、易错点模拟试题附带答案详解
- 2024年湖南岳阳市直事业单位选调37人历年高频500题难、易错点模拟试题附带答案详解
- 2024年湖南岳阳县事业单位第二批“四海揽才”招聘30人历年高频500题难、易错点模拟试题附带答案详解
- 2024年湖南中南大学湘雅二医院管理岗位招考聘用高频500题难、易错点模拟试题附带答案详解
- 大浴场服务流程
- 2024女装电商数据复盘报告
- 人体下肢解剖学培训课件
- 大学生职业生涯规划与就业指导课件(全套)
- 新外研版高中英语选择性必修一Unit2 we regret to inform you课件
- 医院关于外出参加学术会议的管理规定
- 学困生转化情况记录表模版
- 动脉采血技术ppt
- (9.6)-成本理论微观经济学
- 公司全员降薪工作方案
- 新产品开发流程图
评论
0/150
提交评论