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[1]: *** [install] 错误 1

编辑 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"}
时间: 2024-12-28 21:31:47

Web方式预览Office/Word/Excel/pdf文件解决方案的相关文章

Java实现web在线预览office文档与pdf文档实例

https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档与pdf文档实例, 1.首先我们需要找到可以把office转换成pdf的方法,查找资料发现有openoffice这一软件可以把office转换成pdf,这一软件先下载下来,然后记住自己安装的在那个位置.然后在cmd环境下进入安装目录的program目 云计算 云服务器ECS 大数据 建站 备案 文档

ReportViewer 不预览,直接导出 PDF文件

作为笔记记着,以免以后再到处找资料 1. 在不预览的情况下导出文件 先看一个方法说明,想知道ReportViewer支持导出哪些文件类型,在Render方法说明中就有描述 // // Summary: // Processes the report and renders it in the specified format using a stream // provided by a callback function. // // Parameters: // format: // The

在Java中如何操作word, excel, pdf文件

java操作word,excel,pdf 在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下java对word.excel.pdf文件的读取.本篇博客只是讲解简单应用.如果想深入了解原理.请读者自行研究一些相关源码. 首先我们来认识一下读取相关文档的jar包: 1. 引用POI包读取word文档内容 poi.jar 下载地址 http://apache.freelamp.com/poi/release/bin/poi-

Atitit.office word  excel  ppt pdf 的web在线预览方案与html转换方案 attilax 总结

Atitit.office word  excel  ppt pdf 的web在线预览方案与html转换方案 attilax 总结 1. office word  excel pdf 的web预览要求1 1.1. 显示效果要好1 1.2. 可以自定义显示界面1 1.3. 不需要控件,兼容性好1 1.4. 支持编辑操作1 2. 纯html预览解决之道(自由的格式)1 3. 转换swf flash方案2 4. 转换pdf方式..更多的浏览器已经直接支持pdf格式查看2 5. 控件方式2 6. Hyb

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享

Java解析OFFICE(word,excel,powerpoint)以及PDF的实现方案及开发中的点滴分享 在此,先分享下写此文前的经历与感受,我所有的感觉浓缩到一个字,那就是:"坑",如果是两个字那就是"巨坑"=>因为这个需求一开始并不是这样子的,且听我漫漫道来: 一开始客户与我们商量的是将office和PDF上传,将此类文件解析成html格式,在APP端调用内置server直接以html"播放" 经历一个月~,两个月~,三个月~~~

WEB在线预览PDF

这是我在博客园发表的第一篇文章.以后会陆续把在线预览其他格式文档的解决方案发表出来. 解决思路:把pdf转换成html显示. 在线预览pdf我暂时了解3种解决方案,欢迎大家补充. 方案一: 利用pdf2html软件将PDF转换成HTML. 用法: PDF2HTML [选项] <PDF 文件> [<HTML 文件>] -f <页数>   : 转换开始页-l <页数>  : 转换结束页-z <缩放率>        : 设置转换缩放率,从 50 到

Office word excel电子表格在线编辑的实现方法

Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件. IIS(6.0)支持webdav,这在IIS管理器的web服务扩展中可以看到.利用IIS作为webdav的服务器端,可以很容易的实现office word,excel在线编辑. 可以简单的实验一下: 确保IIS的webdav扩展安装并被启用了,建立一个虚拟目录test,在其中放一个word文档a.doc,然后打开word, 文件->打开->输入word文档的访问url(http://localhos

Linux下markdown编辑软件 — retext 支持实时预览,存为pdf、html、ODT等

本文由Suzzz原创,发布于 http://www.cnblogs.com/Suzzz/p/4129368.html,转载请保留此声明 ReText是一个linux下的markdown和reStructedText的编辑器,支持实时预览.输出为pdf.html.ODT等功能. 直接上效果图 查看生成的 html 代码

怎么用OCR图文识别软件在MS Office中创建PDF文件

ABBYY PDF Transformer+是一款可创建.编辑及将PDF文件转换为其他可编辑格式的OCR图文识别软件,不仅可以从纸质文档.图像文件和任何其他流行格式创建PDF文件(相关文章请参考如何从文件创建ABBYY PDF Transformer+ PDF文档),还可以从MS Office中创建PDF文件,本文为大家详解如何使用ABBYY PDF Transformer+从MS Office中轻松创建PDF文件. 本文仅以Microsoft Word为例,MS的其他应用程序操作步骤类似. 步