没有合适的资源?快使用搜索试试~ 我知道了~
在线预览\文档在线预览:总体思路
4星 · 超过85%的资源 需积分: 16 21 下载量 47 浏览量
2011-08-07
09:41:45
上传
评论
收藏 177KB DOCX 举报
温馨提示
试读
12页
在线预览\文档在线预览:总体思路 在线预览\文档在线预览:总体思路
资源详情
资源评论
资源推荐
文档在线预览:总体思路
文档在线预览研究系列
总体思路
文档生成技术细节
利用百度阅读器
近两年出现了许多以“经验交易”为核心的文档平台,如豆丁网、百度文库、星期八等网站。这些网站
将文档(知识)存放在网站(平台)上,供用户浏览、讨论、下载,配以良好的积分体系和金钱激励(运
营),完美的协调好知识分享与知识传播之间的微妙关系。这样即有 Web2.0 的用户互动,也有
Web3.0 的价值分配,对社会也是非常好的资源重用,是非常棒的一种运营模式。
从技术层面讲,这类网站的创新主要有文档预览、知识商城和 SNS 三个块。今年初公司也决定在公
司内部引入这种模式,以实现公司内部文档特别是售前方案的分享,很荣幸,我被安排为此项目的开发经
理,也专门研究了文档在线预览的技术。如今项目已经上线将近百天,也是时候整理一下思路,这篇博客
主要就是分析一些文档在线预览的技术细节,其实网上已经有很多类似的文章,但大多没有说得很清楚,
也比较零乱,所以我想整理一个完整的文章来。文章内容将会涉及:总体思路、预览实现细节、缩略图实
现、百度阅读器使用等。
文档预览即文档以 ash 的形式在网页上展示,所以要解决两个问题:以什么格式展示 ash、文档
如何转化为符合格式的 ash。
展示 ash 有两种方式,一种是直接生成好一个完整的 ash 展示出来,一种是用一个播放器来播放
另外一个文档 ash。第一种方式可以用 SWFTools 的工具直接将 pdf 转化成一个整体的 ash 展示,但
这种方式的 ash 较大,且不容易控制,故用得较少。第二种方式是重点,首先需要了解的是一个开源的
expaper
播放器,它可以播放一帧一页的 ash;在 expaper 的基础上,如果遇到大文档则会出现
速度和性能的问题,这个时候需要像百度文库、豆丁一样修改 expaper,让它支持一次仅读取指定页数
的 ash;如果文档安全级别较高,不允许下载查看,则需要给 expaper 加上加密解密算法;如果需要
登录用户才能查看,则要让 expaper 有登录 UI。
转化文档为 ash 的思路有一条,但有多种实现方式。一般文档需要先转化为 pdf,再从 pdf 转化为
ash。转化为 pdf 的方法有很多,例如使用虚拟打印机、使用 MicrosoftOce 的 API、使用
OpenOce 转化等,不过转化的过程中,可能由于文档有误、损坏、加密等原因造成转化失败。从
pdf 转化为 ash 就简单了许多,直接使用 SWFTools
的
pdf2swf
即可实现多种方式的转化。
下图是文档转化到 swf 的一个流程,其中 type 是文档的一个状态标识(0 表示未处理过的文档,1
表示已生成 pdf,2 表示已生成 ash,-1 表示不受支持的文档格式,-2 表示转化为 pdf 失败,-3 表示
转化为 ash 失败)
文档在线预览:文档生成技术细节
之前的“文档在线预览:总体思路”受到很多朋友的欢迎,为此我继续讲一下文档在线预览
两个步骤的一些技术细节。以下我以 C#语言和 Windows 平台为例展开做一些介绍。请
记住,本文讲的是文档转化为 pdf 再转化为其他格式的方法,不讨论转化成的 ash 如何
展示的问题(暂且假设用 FlexPaper 来展示吧)。文章后面附带本文讲到的相关操作的源
码和软件下载,有些软件需要购买授权才能使用。
四项基本操作
1、调用 Windows 打印机打印文档
PrintDocumentdocToPrint=newPrintDocument();
docToPrint.DocumentName=GetPath(sourcePath);
//开始打印
docToPrint.Print();
2、调用命令行执行 CMD 命令
/// <summary>
/// 运行命令
/// </summary>
/// <param name="strShellCommand">命令字符串</param>
/// <returns>命令运行时间</returns>
private static double RunShell(string
strShellCommand)
{
double spanMilliseconds = 0;
剩余11页未读,继续阅读
小步快跑
- 粉丝: 21
- 资源: 79
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2