广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Office在线预览及PDF在线预览的实现方式大集合
  • 893
分享到

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

phpwordexcelpdf 2023-08-31 18:08:49 893人浏览 泡泡鱼
摘要

一、服务器先转换为pdf,再转换为SWF,最后通过网页加载Flash预览 微软方:利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,然后再利用免费的swftools.exe工具生成sw

一、服务器先转换为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中设置 ,一个是在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
使用FlexPaper实现office文件的预览(C#版)_.NET_程序员俱乐部

非微软方:没有微软的Office软件可安装,只能用第三方的openoffice(开源、免费)来转换PDF文件,其它方面都一样,优缺点一样
无论是office还是openoffice,转换速度漫长与不支持高并发,注定其只能适合十几个人的小型办公OA系统使用
参考链接:
java实现附件预览(openoffice+swftools+flexpaper)_OkidoGreen的博客-CSDN博客


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

利用flashpaper直接转换为SWF文件(虚拟打印机),然后利用flexpaper预览Flash文件。
flashpaper是Macromedia的一款产品,随着被Adobe公司收购,Macromedia对于这款软件早就放弃了,国内尚无人在程序中调试成功过。
参考链接:
利用Macromedia Flash Paper将Office文档转换为Flash或PDF格式的操作介绍_Excel杂文


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

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

2》通过PHPOffice转换

1:composer require PHPoffice/phpword 
  
2:安装成功可看到 vendor文件夹

3: 使用方法:
require 'vendor/autoload.php';
$phpWord = \PhpOffice\PhpWord\ioFactory::load('./4.docx');
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord,"HTML");
$xmlWriter->save('./ceshi.htm');
?>
4:官方


四、第三方ActiveX浏览器控件

如科瀚的SOAOffice中间件、卓正软件的pageoffice控件、WebOffice控件、国外的Office Viewer ActiveX Control
优点:
可在线编辑等。
缺点:
1、客户端需安装控件。
2、付费。
3、在HTML5css3以及桌面向浏览器转换的大潮流下,控件已是昨日黄花。
参考链接:
http://www.kehansoft.com/soaoffice/index.htm
卓正软件 - PageOffice官方网站 - 在线编辑Word、Excel的Office文档控件
WebOffice控件 官方网站——支持Word、Excel、Powerpoint、Wps、Visio、Csv和Pdf的Office文档控件
http://www.anydraw.com/


五、微软的Office365

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


六、第三方成熟的服务

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


七、在浏览器中直接打开

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


八、其它

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

来源地址:https://blog.csdn.net/tianchibinglian/article/details/129296360

--结束END--

本文标题: Office在线预览及PDF在线预览的实现方式大集合

本文链接: https://www.lsjlt.com/news/386681.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作