Web方式预览Office/Word/Excel/pdf文件解决方案
最近在做项目时需要在Web端预览一些Office文件,经过在万能的互联网上一番搜索确定并解决了。
虽然其中碰到的一些问题已经通过搜索和自己研究解决了,但是觉得有必要将整个过程记录下来,以方便自己以后查找,也方便以后碰到相同问题的朋友。
首先大家都知道在浏览器中是无法直接直接打开office文件查看的(IE除外),所以我们需要将office文件转换成其他格式来预览。
所以我的实现方法是 office文件=>pdf文件=>swf文件=>flexpaper中浏览
我们用到的软件如下:
1、libreoffice
2、swftools
3、flexpaper
4、sharp_office 一个gem
5、ImageMagick
环境: ubuntu 14.04
一、安装libreoffice
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:libreoffice/libreoffice-4-0
sudo apt-get install libreoffice
如果是ubuntu server环境,这里需要安装一个中文字体,否则转换出来的PDF文件中的中文将全部是乱码,具体安装方法参考这里:libreoffice转换文件为pdf文件乱码问题解决办法
二、安装swftools
下载 http://www.swftools.org/download.html
解压 tar -zvxf swftools-0.x.x.tar
编译 cd swftools-0.x.x;./configure;make 安装 make install
可能会报错
rm:无效选项 -- o
Try 'rm --help' for more information.
make[]: *** [install] 错误
编辑 swfs/Makefile 和 swfs/Makefile.in两个文件 找到 rm 命令,去掉后面的 -o -L 保存,再次install即可
详情可以参考这里: ubuntu下 编译安装swftools (之前碰到问题时的记录)
三、FlexPaper,这是一个开源轻量级的在浏览器上显示各种文档的组件,被设计用来与swftools一起使用,只需要下载然后嵌入到网页中即可。
四、sharp_office 这是一个ruby gem,我们使用它来调用命令转换office文件到pdf文件和swf文件
gem install sharp_office
由于我需要在老版本的ruby中使用,当前这个sharp_offce只适用于ruby1.9以上版本,所以我基于sharp_offce修改并发布了我的版本sharp_office_bruce
所以现在可以这样安装 gem install sharp_office_bruce
五、ImageMagic
由于sharp_office转换office文件至pdf文件和swf文件时,会同时调用ImageMagic生成缩略图,所以需要安装它
sudo apt-get install imagemagick libmagickcore-dev gs
六、转换程序
require 'sharp_office'
SharpOffice.process('/Users/apple/Documents/test.doc')
=> {:status=>"ok", :pdf_path=>"/Users/apple/Documents/test-doc.pdf", :swf_path=>"/Users/apple/Documents/test-doc.swf", :cover_path=>"/Users/apple/Documents/test-doc.png"}
SharpOffice.process('/Users/apple/Documents/test.doc', {pages: '1-20'})
=> {:status=>"ok", :pdf_path=>"/Users/apple/Documents/test-doc.pdf", :swf_path=>"/Users/apple/Documents/test-doc.swf", :cover_path=>"/Users/apple/Documents/test-doc.png"}
Web方式预览Office/Word/Excel/pdf文件解决方案的更多相关文章
- Java实现web在线预览office文档与pdf文档实例
https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...
- ReportViewer 不预览,直接导出 PDF文件
作为笔记记着,以免以后再到处找资料 1. 在不预览的情况下导出文件 先看一个方法说明,想知道ReportViewer支持导出哪些文件类型,在Render方法说明中就有描述 // // Summary: ...
- Atitit.office word excel ppt pdf 的web在线预览方案与html转换方案 attilax 总结
Atitit.office word excel ppt pdf 的web在线预览方案与html转换方案 attilax 总结 1. office word excel pdf 的web预览要求 ...
- Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享
Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享 在此,先分享下写此文前的经历与感受,我所有的感觉浓缩到一个字,那就是:"坑&qu ...
- WEB在线预览PDF
这是我在博客园发表的第一篇文章.以后会陆续把在线预览其他格式文档的解决方案发表出来. 解决思路:把pdf转换成html显示. 在线预览pdf我暂时了解3种解决方案,欢迎大家补充. 方案一: 利用pdf ...
- WinForm中预览Office文件
WinForm预览Office文档 使用WinForm, WPF, Office组件 原理:使用Office COM组件将Word,Excel转换为XPS文档, 将WPF的DocumentViewer ...
- 在线预览office文件
Office Online 实现在线预览 office的在线预览,针对不同的浏览器版本和系统具有要求,具体的相关文档请参考官方文档. 利用office online 平台进行office 文档的在线查 ...
- Office word excel电子表格在线编辑的实现方法
Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件. IIS(6.0)支持webdav,这在IIS管理器的web服务扩展中可以看到.利用IIS作为webdav ...
- Word,Excel,pdf,txt等文件上传并提取内容
近期项目需求:1.要用到各种文件上传,下载. 2.并对文件进行搜索. 3.仅仅要文件里包括有搜索的内容,所有显示出来. 今天正好有时间整理一下,方便以后阅读,及对须要用到的朋友提供微薄之力.首先在实现 ...
随机推荐
- 51nod1265(判断四个点是否共面)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1265 题意:中文题诶- 思路:假设现有a, b, c, d四 ...
- 何为SSH协议?
该文来自百度百科,自我收藏. SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH ...
- 阿里云CentOS7系列二 -- 安装Tomcat7的方法
前面讲到了JDK在CentOS7 环境下的安装步骤.这次来分享安装Tomcat7的安装步骤: Tomcat7 安装包: 链接: http://pan.baidu.com/s/1geKwASN 密码: ...
- day4(homework)
第八单元 1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) 2) 将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加) 3) 将/1.txt ...
- 多个supplemental logging的说明与删除
有时候我们做ogg的时候,查看info trandata schema.table 无法查看到对应的supplement log信息, 但是我们查看table script的时候可以看到supplem ...
- fatal error LNK1169: 找到一个或多个多重定义的符号
申明全局变量,全局函数一定要在cpp中申明,其他类引用该全局变量就include该cpp的h文件,然后extern一下就好了.否则容易出现该重复定义错误. 这个"容易"是如何解释的 ...
- 深信服务发布SSL站点
1.不能使用AD自带的HTTPS服务,需要新建一个服务,端口443 2.在“节点池”中添加内网HTTPS服务器的IP,端口443 3.在“策略”中新建一条策略,"服务"选新添加的端 ...
- MySql 获取表的字段名
mysql安装成功后可以看到已经存在mysql.information_schema和test这个几个数据库,information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库 ...
- Web Applicationservlet,cookie,session
Web Application简介: Web Application NameWEB-INFweb.xml 该web application的配置文件lib 该web application用到的依赖 ...
- 【CentOS】LAMP相关2
////////////////配置Apache//////////////////////////// 拿一个discuz来演示 LFS是什么,然后去掌握以下吧,对我们的提升很大?????听说广州的 ...