日期:2014-05-20  浏览次数:20865 次

用Java怎么实现在线文本阅读器功能,譬如豆瓣、百度文库里的
如题,最近项目有需求,做这样的一个在线文本阅读器,要求是要将不同的文本格式的文件即时的展现出来,想做一个类似豆瓣、百度文库里的在线文本阅读器,怎么做啊,我没有思路,网上的资料也很少,请大家帮帮忙!!!

------解决方案--------------------
根据文件的后缀名访问相应的severlet.

<servlet-mapping>
<servlet-name>WordAction</servlet-name>
<url-pattern>*.doc</url-pattern>
</servlet-mapping>
在相应的severlet引用相应的包,读出文件内容,
输出文本内容。
------解决方案--------------------
Servlet实现动态图文结合输出
http://www.jspcn.net/htmlnews/11049320059681613.html
不知道能不能给你点灵感
------解决方案--------------------
输出图片吧,象附加码一样!
------解决方案--------------------
一种实现方式也是目前大部分浏览器打开在线文档的方式就是嵌入浏览器显示,目前浏览器一般都自带对应的流行阅读器比如pdf
同理,其它类型是不是也可以按照这个思路 看一下下面这篇文章 重点是注册表那段 我没试过 楼主自己可以试试

除了打开Internet上的网页,Internet Explorer还能够浏览本地文件夹及文件。如果浏览的是PDF文档或Office文档,有时候你会发现当调用Navigate("xxx.doc") 的时候,Adobe Reader/Acrobat或Office等Document Servers会在IE中嵌入自己的一个实例以打开相应的文件,当然有时候也会在独立的Acrobat或Office窗口中打开文件。
在Adobe Reader/Acrobat的属性设置窗口中,我们可以找到“Display PDF in browser”的选项,如果勾上,则Navigate("xxx.pdf")将会以嵌入的方式在IE中浏览PDF文件,否则在独立的Adobe Reader/Acrobat窗口中浏览。但在Office的“选项”对话框中我们找不到这样的设置。



问题:如何在自己的浏览器中控制Office这类 Ole Servers的打开方式?

答案:修改文件夹选项,或修改注册表。

方法1、如下所示,从控制面板中打开“文件夹”选项,在“文件类型”属性页上找到相应的文件后缀名,如“DOC”,点击“高级”按钮,在弹出的“编辑文件类型”对话框中有“在同一窗口中浏览”的选项,如果勾上,则以嵌入IE的方式打开文档,否则在独立窗口中打开。


Open In Same Window Open In Same Window

方法2、直接修改注册表。

在“HKEY_LOCAL_MACHINE\SOFTWARE\Classes”键值下,保存了各种文件类型的注册信息,以Office 文档为例,与文档相关键值如下。

文档类型 键值

Microsoft Excel 7.0 worksheet Excel.Sheet.5

Microsoft Excel 97 worksheet Excel.Sheet.8

Microsoft Excel 2000 worksheet Excel.Sheet.8

Microsoft Word 7.0 document Word.Document.6

Microsoft Word 97 document Word.Document.8

Microsoft Word 2000 document Word.Document.8

Microsoft Project 98 project MSProject.Project.8

Microsoft PowerPoint 2000 document PowerPoint.Show.8

如果我们要修改Word文档的打开方式,,则在“HKEY_LOCAL_MACHINE\SOFTWARE\Classes \Word.Document.8”下新建一个名为“BrowserFlags”,类型为“REG_DWORD”的子键值,如果设置其值为“8”,则在独立的窗口中打开Word文档,否则在嵌入IE的Word窗口中打开文档。

注:Microsoft Excel 7.0 worksheet稍有不同,应设置BrowserFlags的值为“9”方可在独立的窗口中打开文档。


Office Document Setting

参考资料:

MSDN:259970:In-Place Activating Document Servers in Internet Explorer

MSDN:162059:How to configure Internet Explorer to open Office documents in the appropriate Office program instead of in Internet Explorer

------解决方案--------------------
去www.open-open.com去搜索合适的生成PDF的开源组件 再去搜索一个flash的PDF播放器
------解决方案--------------------
那都是转换成flash的,你得现在得考虑的是如何将其转换为flash文件
------解决方案--------------------
这个有3种解决方案:
1、用google文档的API打开各种文档(word,ppt,excel,pdf等),这种方法的缺点是不稳定,有时候打不开,而且速度有点慢。
2、调用本地office打开,像6楼说的那样。缺点是本地必须要安装OFFICE,而且文档可以保存到本地,这样你这个文档就让人下载了。
3、像豆丁网,百度文库那样,把所有格式的文档都统一转换为swf格式的flash,然后就可以用IE浏览器在线打开了。至于转换的方法,简单的就是手动转换,要想自动化就自己想办法吧。。。。。