文档章节

文档在线预览:总体思路

zhchl2010
 zhchl2010
发布于 2015/10/06 13:00
字数 771
阅读 219
收藏 12

文章复制于:http://www.cnblogs.com/flashlm/archive/2010/11/22/document-preview-online.html

相关技术:openOffice  JodConverter  Swftools  FlexPaper

近两年出现了许多以“经验交易”为核心的文档平台,如豆丁网、百度文库等网站。这些网站将文档(知识)存放在网站上,供用户浏 览、讨论、下载,配以良好的积分体系和金钱激励(运营),完美的协调好知识分享与知识传播之间的微妙关系。对社会也是非常好的资源重用,是非常棒的一种运营模式。

  从技术层面 讲,这类网站的创新主要有文档预览、知识商城和SNS三个块。

  文档预览即文档以flash(flash主要为了防止用户另存文档等引起版权问题)的形式在网页上展示,所以要解决两个问题:以什么格式展示flash、文档如何转化为符合格式的flash

   展示flash有两种方式,一种是直接生成好一个完整的flash展示出来,一种是用一个播放器来播放另外一个文档flash。第一种方式可以用 SWFTools的工具直接将pdf转化成一个整体的flash展示,但这种方式的flash较大,且不容易控制,故用得较少。第二种方式是重点,首先需 要了解的是一个开源的flexpaper播放器,它可以播放一帧一页的flash;在flexpaper的基础上,如果遇到大文档则会出现速度和性能的问题,这个时候需要像百度文库、豆丁一样修改flexpaper,让它支持一次仅读取指定页数的flash;如果文档安全级别较高,不允许下载查看,则需要给flexpaper加上加密解密算法;如果需要登录用户才能查看,则要让flexpaper有登录UI


  转化文档为flash的思路有一条,但有多种实现方式。一般文档需要先转化为pdf,再从pdf转化为flash。转化为pdf的方法有很多,例如使用虚拟打印机、使用MicrosoftOffice的API、使用OpenOffice转化等,不过转化的过程中,可能由于文档有误、损坏、加密等原因造成转化失败。从pdf转化为flash就简单了许多,直接使用SWFTools的pdf2swf即可实现多种方式的转化。  

  下图是文档转化到swf的一个流程,其中type是文档的一个状态标识(0表示未处理过的文档,1表示已生成pdf,2表示已生成flash,-1表示不受支持的文档格式,-2表示转化为pdf失败,-3表示转化为flash失败)


以上方案免不了需要在部署时安装相关软件,为系统部署带来一定麻烦,需要更进一步的处理方案。

在没有版权考虑需求下可以采用apache tika等技术将文档内容提取出来,网页通过类似modal方式展示等...



© 著作权归作者所有

共有 人打赏支持
下一篇: java网络编程02
zhchl2010
粉丝 3
博文 82
码字总数 79448
作品 0
成都
程序员
私信 提问
加载中

评论(2)

zhchl2010
zhchl2010

引用来自“dingdayu”的评论

我做过这个,而且做了两个方案,一个是如果是新版浏览器使用pdf预览,如果老版用flash
我目前只知道pdf.js直接解析pdf文件,不过word,ppt,excel文档目前还没有思路,你的新浏览器预览文档具体如何操作的,能不能详细点,谢谢
dingdayu
dingdayu
我做过这个,而且做了两个方案,一个是如果是新版浏览器使用pdf预览,如果老版用flash
有没有将word转换为flash的好方法

最近的项目中用到了word文档的在线预览功能,类似于百度文库那种。word文档是通过程序自动生成的, 现在的思路是想把word通过java 程序转换成flah 文件,这个貌似类似于flshpaper 这样的工具...

浪漫的菜鸟
2012/12/12
1K
6
word文档在线预览怎么做

java如何实现word文档在线预览,提供思路也行

milin
2013/03/09
17.1K
5
实现在线预览PDF的几种解决方案

因客户需要实现PDF的预览处理,在网上找了一些PDF在线预览的解决方案,有的用PDFJS的在线预览方式,有的使用PDFObject的嵌入式显示,有的通过转换JPG/PNG方式实现间接显示的方式,开始是想通...

伍华聪
2018/08/31
0
0
spring boot构建Excel文件在线预览项目方案 - file-online-preview

file-online-preview 此项目为文件文档在线预览项目解决方案,在取得公司高层同意后以 Apache 协议开源出来反哺社区。该项目基本支持主流办公文档的在线预览,如 doc,docx,Excel,pdf,txt,zip...

KL博客
2017/12/13
1K
12
Java+FlexPaper+swfTools仿文库文档在线阅读

一、文档在线阅读思路 1.用OpenOffice把PPT、Word、Excel、Text转换为pdf 2.用SWFTool将生成的pdf转换成swf,然后利用FlexPlayer实现在线预览播放 二、准备工作 1.安装OpenOffice,官网下载地...

StephenZou
2013/07/13
0
34

没有更多内容

加载失败,请刷新页面

加载更多

mogodb服务

部署MongoDB 官网: https://www.mongodb.com/download-center/community 创建mongo数据目录 mkdir /data/mongodb 二进制部署 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x8......

以谁为师
昨天
3
0
大神教你Debian GNU/Linux 9.7 “Stretch” Live和安装镜像开放下载

Debian项目团队于昨天发布了Debian GNU/Linux 9 "Stretch" 的第7个维护版本更新,重点修复了APT软件管理器中存在的安全漏洞。在敦促每位用户尽快升级系统的同时,Debian团队还发布了Debian ...

linux-tao
昨天
3
0
PHP 相关配置

1. php-fpm的pool 编辑php-fpm配置文件php-fpm.con vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加以下内容 include = etc/php-fpm.d/*.conf # 相当与Nginx的虚拟主机文件 “vho......

Yue_Chen
昨天
2
0
EOS主网数据同步指南

本文介绍如何安装EOS节点软件并接入EOS主网,主要包括以下内容: 如何安装EOS节点软件 如何配置EOS节点软件接入主网 如何启动EOS节点软件与主网数据同步 如何检查主网数据同步进度 如何正确地...

汇智网教程
昨天
3
0
matlab-线性代数 齐次方程组 基础解系和通解

  matlab : R2018a 64bit     OS : Windows 10 x64 typesetting : Markdown    blog : my.oschina.net/zhichengjiu    gitee : gitee.com/zhichengjiu   code clearclc% x1+2*......

志成就
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部