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付费,项目经理要我预研一个文档在线预览的开源实现方案.仔细钻入该需求发现 ...
随机推荐
- mysql ibdata 单独存储
简介ibdata1 ibdata1文件是InnoDB存储引擎的共享表空间文件,存放位置my.ini 中的 datadir="D:\phpStudy\MySQL\data",目录下. ...
- LeetCode记录之7——Reverse Integer
Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Note:The ...
- xml转换csv
/// <summary> /// xml文件转换为CSV /// </summary> /// <param name="fileName"> ...
- leetcode 88 Merge Sorted Array 归并排序
归并排序:先将数组一分为二,将左边部分排序(同样将其一分为二),再将右边部分排序,最后逐层归并.(分治策略)(稳定排序). 算法稳定性 -- 假设在数列中存在a[i]=a[j],若在排序之前,a[i] ...
- hdu 1754 I Hate It 线段树基础题
Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求, ...
- pageHelper 分页插件使用
第一步:引入pageHelper的jar包. 链接:https://pan.baidu.com/s/1m3EyAmd_eoAsay0aM7uEkA 提取码:xmfi 第二步:需要在SqlMapConf ...
- 【记录】BurpSuite之Grep-Extract
借助一次sql注入来说明Grep-Extract的作用 要报出当前数据库中所有表名,这里可以有多种方法,我借助limit语句,以此来说明Grep-Extract的用法.
- centos7.3下安装redis3.2 yum安装
1.进入centos 2.运行:yum install redis 3.安装完成后,选择y,确认 4.进入:cd /etc/;vi redis.conf 将,daemonize 修改为yes,并且添加 ...
- 接口隔离原则(Interface Segregation Principle)ISP
using System; using System.Collections.Generic; using System.Text; namespace InterfaceSegregationPri ...
- 【转】使用Python的Requests库进行web接口测试
原文地址:使用Python的Requests库进行web接口测试 1.Requests简介 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写, ...