`
cuiyadll
  • 浏览: 204695 次
文章分类
社区版块
存档分类
最新评论

Office在线预览及PDF在线预览的实现方式大集合

    博客分类:
  • js
js 
阅读更多

一、服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览

微软方:利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,然后再利用免费的swftools.exe工具生成swf格式的Flash文件,网页中加载flexpaper免费开源工具(有广告)实现Flash文件的预览。
优点:
1、有效的保护的源文件及文件的复制,不可复制也是缺点。
2、源码是自己的,版权有保证。
缺点:
1、服务器上必须安装Office软件。
2、导出PDF文件本身是个打印过程,Excel页面格式未设置,会出现一张表格打印出多页来,阅读体验大大下降。
3、转换过程非常耗费资源,低配的CPU几乎能跑满,服务器卡死。转换时间也非常漫长,这个时间主要是卡在了转换PDF上面。
4、转换完成服务器会遗留大量Excel、Word进程无法正常退出,有一些折中的解决办法,可以在网上搜索。
5、设置非常麻烦,本身微软官方的说法Office软件是客户端程序,在与IIS交互的时候本身就未设计。所以很多程序员把精力浪费在了调试程序上面。有两点在调试的时候需要注意。一个是在web.config中设置 <identity impersonate="true" userName="administrator" password="你的服务器管理员密码" />,一个是在Office软件的设置中设置跟桌面交互。
6、严重浪费磁盘空间,一个文件还需要一个PDF文件、一个SWF文件,是否每次都转换,纠结是要硬盘空间呢还是要CPU的资源。
参考链接:
http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html 
http://www.cnblogs.com/liuning8023/archive/2013/03/04/2943482.html 
http://www.cxyclub.cn/n/29549/ 

非微软方:没有微软的Office软件可安装,只能用第三方的openoffice(开源、免费)来转换PDF文件,其它方面都一样,优缺点一样
参考链接:
http://blog.csdn.net/z69183787/article/details/17468039 


二、Office文档直接转换为SWF,通过网页加载Flash预览

利用flashpaper直接转换为SWF文件(虚拟打印机),然后利用flexpaper预览Flash文件。
flashpaper是Macromedia的一款产品,随着被Adobe公司收购,Macromedia对于这款软件早就放弃了,国内尚无人在程序中调试成功过。
参考链接:
http://www.dzwebs.net/1149.html 


三、office转Html、pdf转图片在线预览文件Html文件

利用DCOM配置直接操作Office文件,读取文件内容,导出Html文件
优点:
实践证明此方法不科学。
缺点:
1、服务器上必须安装Office软件。
2、配置麻烦,正如微软所说,读取Office不是这么干的。
3、转换的文件格式均丢失。
4、仅限于IIS服务器,利用ASP.net(C#)。
参考链接:
http://www.cnblogs.com/tangbinblog/archive/2012/11/29/2794110.html 


四、第三方ActiveX浏览器控件

如科瀚的SOAOffice中间件、卓正软件的pageoffice控件、WebOffice控件、国外的Office Viewer ActiveX Control
优点:
可在线编辑等。
缺点:
1、客户端需安装控件。
2、付费。
3、在Html5、CSS3以及桌面向浏览器转换的大潮流下,控件已是昨日黄花。
参考链接:
http://www.kehansoft.com/soaoffice/index.htm 
http://www.zhuozhengsoft.com/ 
http://www.officectrl.com/ 
http://www.anydraw.com/ 


五、微软的Office365

微软新出的在线文档,与Google文档抗衡,估计没谷歌文档,微软也懒得出这个
优点:
微软自家的东西原生态呈现。
缺点:
加载文件较多,各种图片、文字、样式、JQuery等,页面臃肿,加载速度慢,不适合手机预览
需要微软的批量许可(即授权),硬件投入方面:架设一台单独的服务器(可以是虚拟机),配置过低能安装,但无法运行,另外还需一台域服务器。而这两台机器上均不能安装其它程序,比如SQLServer,在Office365服务器上每次重启IIS会重置,也就是说你不能有任何其它网站。其主要是用来与SharePoint搭配使用。
参考链接:
http://technet.microsoft.com/zh-cn/library/jj219456(v=office.15).aspx 


六、第三方成熟的服务

如OfficeWeb365
优点:
1、OfficeWeb365采用适合中文排版的纯Html、CSS技术。
2、接口简单,适合PHP、JSP、ASP.net等所有的对接,省心省力。
3、费用低廉,节省投入。
4、不用关心客户端是否安装了Office软件,不用在客户端部署。
5、手机在线预览2页Word文档只有3K大小,且格式保留,领先全球的中文在线预览技术。
6、支持国产的金山WPS,这在国内尚属首列。
缺点:
1、OfficeWeb365只能查看不能编辑,目前在线编辑版的正在开发。
参考链接:
http://www.officeweb365.com 


七、在浏览器中直接打开

通过设置MiME类型,告诉浏览器这是Office文件,浏览器直接调用本地Office或PDF软件打开
优点:
1、不用编程,不用第三方服务,直截了当。
2、很多用户安装了Adobe的PDF预览软件,同时在浏览器上也直接安装了插件,浏览器可直接查看PDF文件。
缺点
你永远不知道客户机器上是否安装了Office软件,虽然几乎都安装了,但直接调用Office软件,客户体验大大下降,更何况还有个讨厌的迅雷一直在监视你的浏览器,不给你打开的机会,当然这些都是你无法预知的。


八、其它

如金山快写、一些网盘的预览
参考链接:
http://w.wps.cn/ 

分享到:
评论

相关推荐

    aspose实现在线预览word,ppt,excel,pdf文件架包(2)

    在线预览PDF时,Aspose.PDF可以将PDF页面渲染为图像,然后在网页上逐页显示。 5. **Aspose.Slides**: Aspose.Slides处理PowerPoint演示文稿,支持PPT、PPTX等格式。它可以将幻灯片转换为图像或HTML5,从而实现...

    aspose在线预览office文档

    总的来说,Aspose提供了一套全面的解决方案,帮助开发者在.NET 4.0环境下实现对Office文档的高效管理和在线预览,极大地扩展了Web应用程序的功能和用户体验。通过充分利用Aspose.Words、Aspose.Cells和Aspose.Slides...

    支持word(.docx)、excel(.xlsx,.xls)、pdf、pptx等各类型office文件预览的vue组件集合,提供完整的office文件预览方案,支持vue2和3,也支持Rea.zip

    《演示效果》《使用非Vue框架(原生js、React等)、或者Vue里面报错,看这里》功能特色一站式提供word(.docx)、pdf、excel(.xlsx, .xls)、ppt(.pptx)多种文档的在线预览方案,就够了简单只需提供文档的src(网络地址)...

    支持wordexcelpdf等各类型office文件预览的vue组件集合支持vue2和3,也支持React等非Vue框架

    支持word(.docx)、excel(.xlsx)、pdf等各类型office文件预览的vue组件集合,提供一站式office文件预览方案,支持vue2和3,也支持React等非Vue框架。Web-based pdf, excel, word preview library.zip

    在线预览所需工具2

    此外,它还提供了图像到SWF、SWF到图像、SWF提取以及SWF播放器等工具,丰富了在线预览的实现方式。 为了实现这些工具的有效整合,开发者需要对HTML5、JavaScript和服务器端编程有一定的了解。例如,可以使用...

    office在线查看.zip

    通过“office在线查看.zip”压缩包,我们可以实现Office文档(如Word、TXT、PPT)与PDF之间的转换,并且支持CAD图纸(DWG、DXF格式)转换为PDF,以及Luckysheet的Excel在线预览功能。下面将详细介绍这些功能的实现...

    Web应用实现文档预览工具集合(附加教程)

    本资源包"Web应用实现文档预览工具集合(附加教程)"旨在提供一站式解决方案,包含了必要的工具、教程和代码示例,帮助开发者快速实现这一功能。 首先,我们要理解文档预览的基本原理。通常,预览是通过将文档内容...

    POI和ASPOSE文件转换在线预览

    总结来说,Apache POI和Aspose是处理和转换Microsoft Office文件的强大工具,它们可以有效地帮助我们实现文件的格式转换,进而实现在线预览。通过理解这两个库的核心功能,开发者可以构建出高效、可靠的文件处理系统...

    java在线预览仿百度文库源代码

    Java在线预览仿百度文库源代码是一种技术实现,它允许用户在网页上无须下载即可查看Office文档和PDF文件,这种功能在许多网站和应用中都有应用,比如在线教育平台、文档分享网站等。其核心是利用Java、FlexPaper、...

    Aspose v18最新可用版集合 office转pdf - java不错的例子

    Aspose是国外针对office转pdf格式工具,转换后pdf可直接网页预览.特点是不需要额外安装任何程序,在应用中引入相关jar包后即可转换,转换效率高,效果好,配置简单.本资源包含最新可用三个版本:word-18.10.jar与cells-...

    Aspose v18最新可用版集合 office转pdf - java

    Aspose是国外针对office转pdf格式工具,转换后pdf可直接网页预览.特点是不需要额外安装任何程序,在应用中引入相关jar包后即可转换,转换效率高,效果好,配置简单.本资源包含最新可用三个版本:word-18.10.jar与cells-...

    openofice实现文件预览的jar和安装包

    本主题将深入探讨如何使用OpenOffice及相关组件实现文件预览,并介绍提供的jar和安装包。 首先,`FlexPaper_1.5.1_flash`是一个流行的在线文档查看器,它支持PDF和扫描文档的交互式预览。FlexPaper提供了Flash版本...

    aspose-slides15.9.0去除水印,将ppt转为pdf

    总结来说,使用Aspose.Slides 15.9.0,我们可以方便地去除PPT中的水印并将其转换为PDF,从而实现安全的在线预览。这个过程涉及到文件处理API的使用、循环遍历幻灯片、形状操作以及PDF文件的保存和在线预览技术。这个...

    在线展示文档实例c#:FLEXPAPER+SWFTOOLS+office2016+vs15

    本文将详细讲解一个基于C#的在线文档展示实例,该实例利用了FLEXPAPER插件、SWFTOOLS以及Office 2016来实现从Office文件到PDF再到SWF的转换,最终实现在线展示的效果。 首先,我们来了解FLEXPAPER。FLEXPAPER是一款...

    Word文档浏览器(不需要安装office)含C#源码.

    Aspose是一个功能丰富的API集合,支持多种编程语言,包括C#,能够处理Word、Excel、PDF等多种文件格式。 Aspose for .NET提供了对Word文档对象模型的全面访问,允许开发者创建、读取、编辑和转换DOC、DOCX等文件...

    PDFTool.rar

    预览PDF文件是检查文档外观和内容是否正确显示的重要步骤。Mac OS X系统内置了预览应用程序,可以方便地打开和查看PDF文件。Windows用户则可以使用Adobe Reader、Foxit Reader等专业阅读器进行预览。此外,一些文本...

    附件预览相关软件.zip

    OpenOffice可以打开和编辑多种文件格式,包括Microsoft Office的文件,因此它可能与附件预览有关,尤其是当用户需要在不安装原生软件的情况下预览Office文件时。 根据压缩包内的文件名称列表,我们无法获取具体软件...

    openoffice完整jar包

    "实现openoffice文档转换在线预览"说明了主要的应用场景,即通过编程方式处理OpenOffice支持的文档格式(如ODT、DOC、XLS等),并生成预览。参考链接提供了具体的实现步骤和技术细节。 **标签解析** "openoffice ...

    职高office期末考试题.pdf

    Word 中的样式是预先设定好的格式集合,包括字体、字号、颜色、对齐方式等,可以一键应用到文本上,提高文档格式的一致性和编辑效率。用户不仅可以使用预设的样式,还可以自定义新的样式以满足特定需求。 【Word ...

    Go-unioffice-用于创建和处理Office文档的纯go库

    Go-unioffice库基于XML结构,因为Office文档本质上是XML文件的集合,封装在一个ZIP容器内。库中的API允许开发者直接操作这些XML文件,从而创建和编辑文档内容。 2. **Word处理** 对于Word文档,Go-unioffice提供...

Global site tag (gtag.js) - Google Analytics