FlexPaper实现文档在线浏览(附源码)
没有较全的参数说明。就连官方网站都没有。没法,最后只得将swf文件反编译后查看了源码才将里面的参数全部弄出来。
好了,废话不多说,开始正题。
1. 概述
FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组件,被设计用来与PDF2SWF一起使用, 使在浏览器中显示PDF成为可能,而这个过程并无需PDF软件环境的支持。
另外也可以通过将一些例如Word、PPT等文档转成PDF,然后实现在线浏览。
2. 实现步骤
文档(PDF,Word,PPT等) ----> 转换为SWF -----> 使用FlexPa在线浏览
2.1. 转换SWF
需要使用一个工具,SwfTools,目前最新版本是0.9.1;
可以使用命令行将文件转换为swf文件;
例如将Paper3.pdf转换成Paper3.swf的命令为:
C:\SWFTools\pdf2swf.exe Paper3.pdf -o Paper3.swf
与之对应的程序实现方法:(C#)
Process pc = new Process();
ProcessStartInfo psi = new ProcessStartInfo(“C:\\SWFTools\\pdf2swf.exe”, “Paper3.pdf Paper3.swf”);
pc.StartInfo = psi;
pc.Start();
pc.WaitForExit();
更多关于SwfTools命令的说明可点这里下载说明文档。
2.2. 浏览器中浏览
首先要下载Flexpaper,目前最新版本为1.4.0 ;
下载后解压到网页目录中。
在页面中使用以下代码即可实现Swf文档的浏览。
var params = {
SwfFile : "Paper.swf",
Scale : 0.6
}
swfobject.embedSWF("FlexPaperViewer.swf","cb","500","500","9.0.0","js/swfobject/expressInstall.swf", params)
SwfFile参数是你想显示的文件,Scale是0-1之间的数,表示显示的放大参数。
说的再好听,不如看源码来得直接。源码在这里下。
下面才是本文 的重点(网上找不到的 *_*,找到也没有这详细;嘻嘻)
3. 参数列表
官方网站有,但是没有我的全。 去官网
|
参数名称 |
参数值及说明 |
|
CursorToolsVisible |
(True/False) |
|
FitPageOnLoad |
(True/False) |
|
FitWidthOnLoad |
(True/False) |
|
FullScreenAsMaxWindow |
(True/False) |
|
FullScreenVisible |
(True/False) |
|
NavToolsVisible |
(True/False) |
|
PrintEnabled |
(True/False) |
|
PrintToolsVisible |
(True/False) |
|
ProgressiveLoading |
(True/False) |
|
Scale |
|
|
SearchToolsVisible |
(True/False) |
|
StartAtPage |
|
|
SwfFile |
|
|
ViewModeToolsVisible |
(True/False) |
|
ZoomInterval |
|
|
ZoomTime |
|
|
ZoomToolsVisible |
(True/False) |
|
ZoomTransition |
4. 事件与函数
这个不多,还是列下吧,不过要详细的请到官网去看吧。去官网
|
函数名称 |
函数说明 |
|
gotoPage (Number pageNumber) |
跳转到指定页 |
|
fitWidth() |
设置为宽度模式视图 |
|
fitHeight() |
设置为高度模式视图 |
|
loadSwf (String swffile) |
加载一个新的swf文件到浏览器中 |
|
getCurrPage() |
获取当前页码 |
|
nextPage() |
跳转到下一页 |
|
prevPage () |
跳转到上一页 |
|
Zoom (Number factor) |
按系数缩放 |
|
searchText (String text) |
搜索文字 |
|
switchMode (String mode) |
变换视图模式;参数值可为("Portrait", "Two Page", "Tile") |
|
printPaper () |
打印加载的文档 |
|
事件名称 |
事件说明 |
|
onDocumentLoaded () |
文档加载完成后触发 |
|
onDocumentLoadedError(String errorMessage) |
加载文档出错时候触发 |
|
onProgress(Number bytesloaded, Number bytestotal) |
文档正在加载的时候触发 |
|
onCurrentPageChanged(Number pagenumber) |
页面改变时触发 |
|
onExternalLinkClicked(String link) |
当用户点击外部链接的时候触发 |
文章最后再附个在线浏览pdf文件的插件 点这里下载。
FlexPaper实现文档在线浏览(附源码)的更多相关文章
- Java模拟实现百度文档在线浏览
Java模拟实现百度文档在线浏览 这个思路是我参考网上而来,代码是我实现. 采用Apache下面的OpenOffice将资源文件转化为pdf文件,然后将pdf文件转化为swf文件,用FlexPaper ...
- sharepoint 2013 office web app 2013 文档在线浏览 IE11 浏览器不兼容解决方法
昨晚配置完成office web apps 2013的外部网络访问之后,今天发现了一个很奇怪的问题,就是IE 11不支持文档在线浏览,找了很多方法,打补丁什么的,都不管用,最后在预览文件的页面,看到& ...
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)(1)
原文:http://developer.51cto.com/art/201501/464174.htm 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定 ...
- Java+FlexPaper+swfTools 文档在线预览demo
1.概述 主要原理 1.通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件 2.通过swfTools将pdf文件转换成swf格式的文件 3.通过FlexP ...
- Linux下实现文档在线浏览
使用php实现百度文库功能,网上搜索到的方案,实现doc转pdf,pdf转swf,然后显示出来. 这里简单的记录下,[doc转pdf,pdf转swf]两个功能的搭建流程. doc转pdf 使用到下列程 ...
- 原创SQlServer数据库生成简单的说明文档小工具(附源码)
这是一款简单的数据库文档生成工具,主要实现了SQlServer生成说明文档的小工具,目前不够完善,主要可以把数据库的表以及表的详细字段信息,导出到 Word中,可以方便开发人员了解数据库的信息或写技术 ...
- Socket实现仿QQ聊天(可部署于广域网)附源码(4)-加入数据库系统搭建完成
1.前言 这是本系列的第四篇文章,上一篇我们讲到实现了客户端对客户端的抖屏与收发各种类型文件,本篇文章我们加入SQLServer数据库实现登录与好友的添加等功能,并对界面做了美化处理.向往常一样我会把 ...
- Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现
笔者最近在给客户开发文档管理系统时,客户要求上传到管理系统的文档(包括ppt,word,excel,txt)只能预览不允许下载.笔者想到了百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash ...
- 文档在线预览开源实现方案一:OpenOffice + SwfTools + FlexPaper
在文档在线预览方面,项目组之前使用的是Microsoft office web apps, 由于该方案需要按照微软License付费,项目经理要我预研一个文档在线预览的开源实现方案.仔细钻入该需求发现 ...
随机推荐
- AJAX概述和简单使用
一.ajax概述: asynchronous javascript and xml ,用于异步的向服务器发出请求,接收数据的 一种技术. 在整个过程中:页面无刷新,不打断用户的操作: 按需要获取数据, ...
- SGU - 507 启发式合并维护平衡树信息
题意:给定一颗树,每个叶子节点\(u\)都有权值\(val[u]\),求每个非叶子节点子树的最小叶子距离,若该子树只有一个叶子节点,输出INF 貌似本来是一道树分治(并不会)的题目,然而可以利用平衡树 ...
- 破解mysql数据库的密码
发现的1小问题 语句打错以后应该退出本语句,再继续打新语句.也可以打\c,退出本语句. 如何破解数据库的密码: 1:通过任务管理器或者服务管理,关掉mysqld(服务进程) 2:通过命令行+特殊参数开 ...
- VUE 入门教程
http://www.runoob.com/w3cnote/vue-js-quickstart.html VUE安装教程 https://segmentfault.com/a/119000001218 ...
- hcheck 脚本
hcheck.sql - Script to Check for Known Problems in Oracle8i, Oracle9i, Oracle10g, Oracle 11g and Ora ...
- 揭秘TDSQL全时态数据库系统的核心技术
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯技术工程官方号发表在腾讯云+社区 Design 本节讨论T-TDSQL的关键之处,即影响T-TDSQL架构的设计之处.一是新的数据 ...
- CF 304B——Calendar——————【年月日计算】
B - Calendar Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submi ...
- rpm重装python和yum
前些天升级的python, yum就不能用了, 提示 "No module named yum", 然后搜索了一下, 说要重装python和yum, 也没多想, 就按照那些教程去做 ...
- backbone应用笔记
由于公司手机端web的需要,最近开始用上backbone,之前觉得很难学,也一直没看到前端mvc具体是个啥,后来由于项目紧急,就抽空看了一遍underscore和backbone的源码,收获还是蛮大的 ...
- 如何优雅地进行错误处理(clean code阅读笔记之六)
错误处理是十分必要的,但是如果对错误处理使用不当则会让代码变得十分臃肿,让阅读者看不清代码的逻辑,更严重的是,这也会让程序变得十分脆弱.本文中将列出一些使用错误处理的技巧,帮助你写出既简洁又健壮的代码 ...