欢迎来到天天文库
浏览记录
ID:59254669
大小:23.50 KB
页数:6页
时间:2020-09-08
《Java实现文档在线阅读.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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.
3、jodconverter.DocumentConverter;importcom.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;importcom.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;importcom.artofsolving.jodconverter.openoffice.converter.Op
4、enOfficeDocumentConverter;/***docdocx格式转换*@authorAdministrator**/publicclassDocConverter{privatestaticfinalintenvironment=1;//环境1:windows2:linux(只涉及pdf2swf路径问题)privateStringfileString;privateStringoutputPath="";//输入路径,如果不设置就输出在默认的位置privateStringfileName;
5、privateFilepdfFile;privateFileswfFile;privateFiledocFile;publicDocConverter(StringfileString){ini(fileString);}/***重新设置file*@paramfileString*/publicvoidsetFile(StringfileString){ini(fileString);}/***初始化*@paramfileString*/privatevoidini(StringfileString){
6、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.ex
7、ists()){if(!pdfFile.exists()){OpenOfficeConnectionconnection=newSocketOpenOfficeConnection(8100);try{connection.connect();DocumentConverterconverter=newOpenOfficeDocumentConverter(connection);converter.convert(docFile,pdfFile);//closetheconnectionconnect
8、ion.disconnect();System.out.println("****pdf转换成功,PDF输出:"+pdfFile.getPath()+"****");}catch(java.net.ConnectExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();System.out.println("****swf转换器异常,openoffice服务未启动!****"
此文档下载收益归作者所有