欢迎来到天天文库
浏览记录
ID:40559053
大小:47.50 KB
页数:7页
时间:2019-08-04
《Java实现类似豆丁百度文科的文档在线阅读》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、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目录下含多个
2、要用到的jar文件)flexpaper1.4.0(直接复制过来,项目上运行成功,本地运行还没成功)FlexPaper_1.4.5_flash(网上下载的最新版本没试过,二选一即可)附上自己写的java转换DemoDocConverter.javaimportjava.io.BufferedInputStream;importjava.io.File;importjava.io.IOException;importjava.io.InputStrem;importcom.artofsolving.jodconve
3、rter.DocumentConverter;importcom.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;importcom.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;importcom.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocu
4、mentConverter;/***docdocx格式转换*@authorAdministrator**/publicclassDocConverter{privatestaticfinalintenvironment=1;//环境1:windows2:linux(只涉及pdf2swf路径问题)privateStringfileString;privateStringoutputPath="";//输入路径,如果不设置就输出在默认的位置privateStringfileName;privateFilepdfFi
5、le;privateFileswfFile;privateFiledocFile;publicDocConverter(StringfileString){ini(fileString);}/***重新设置file*@paramfileString*/publicvoidsetFile(StringfileString){ini(fileString);}/***初始化*@paramfileString*/privatevoidini(StringfileString){this.fileString=file
6、String;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.exis
7、ts()){OpenOfficeConnectionconnection=newSocketOpenOfficeConnection(8100);try{connection.connect();DocumentConverterconverter=newOpenOfficeDocumentConverter(connection);converter.convert(docFile,pdfFile);//closetheconnectionconnection.disconnect();System.out.
8、println("****pdf转换成功,PDF输出:"+pdfFile.getPath()+"****");}catch(java.net.ConnectExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();System.out.println("****swf转换器异常,openoffice服务未启动!****"
此文档下载收益归作者所有