FlexPaper实现文档在线浏览(附源码)

园子里也有关于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文件的插件 点这里下载。

时间: 2024-11-08 09:06:21

FlexPaper实现文档在线浏览(附源码)的相关文章

Java模拟实现百度文档在线浏览

Java模拟实现百度文档在线浏览 这个思路是我参考网上而来,代码是我实现. 采用Apache下面的OpenOffice将资源文件转化为pdf文件,然后将pdf文件转化为swf文件,用FlexPaper浏览. ok, A.下载OpenOffice (转换资源文件) B.下载JodConverter(调用OpenOffice) C.下载Swftools(Pdf2Swf) D.下载 FlexPaper(浏览swf文件) 这里我已经全部下载好了,大家只需要下载:http://down.51cto.com

sharepoint 2013 office web app 2013 文档在线浏览 IE11 浏览器不兼容解决方法

昨晚配置完成office web apps 2013的外部网络访问之后,今天发现了一个很奇怪的问题,就是IE 11不支持文档在线浏览,找了很多方法,打补丁什么的,都不管用,最后在预览文件的页面,看到<head>标签,里面有一句代码: <meta http-equiv="X-UA-Compatible" content="IE=99" /> 我把他改成了 <meta http-equiv="X-UA-Compatible&quo

【转】近200篇机器学习&amp;深度学习资料分享(含各种文档,视频,源码等)

编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定期的更新,望看到文章的朋友能够学到更多. <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林.Deep Learning. <Deep Learning in Neural Networks: An Overview> 介绍:这是瑞士人工智能实验室 Ju

近200篇机器学习&amp;深度学习资料分享(含各种文档,视频,源码等)(1)

原文:http://developer.51cto.com/art/201501/464174.htm 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定期的更新,望看到文章的朋友能够学到更多. <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林.Deep Learning. <Deep Learning i

php实现word文档在线浏览功能,配置安装手记

一般类似oa或者crm等管理系统可能都会遇到需要再线查看word文档的功能,类似百度文库. 记得去年小组中的一个成员负责的项目就需要这个的功能,后面说是实现比较困难,就将就着用chm格式替代了.今天看到网上一遍文章<LINUX下面PHP文件转换>,介绍怎么样在linux下使用Openoffice 3 , Pdf2Swf tool , Jodconverter , FlexPaper,实现文档在线查看. 自己再ubuntu下进行的尝试安装,步骤如下: 因为ubuntu版本为10.0.4,open

Linux下实现文档在线浏览

使用php实现百度文库功能,网上搜索到的方案,实现doc转pdf,pdf转swf,然后显示出来. 这里简单的记录下,[doc转pdf,pdf转swf]两个功能的搭建流程. doc转pdf 使用到下列程序(文件): Apache OpenOffice 字体文件(windows系统C:\Windows\Fonts目录下的文件) JAVA环境(>=1.6) jodconverter 实现原理:调用jodconverter的包转换doc为pdf,而jodconverter会去连接OpenOffice的s

原创SQlServer数据库生成简单的说明文档小工具(附源码)

这是一款简单的数据库文档生成工具,主要实现了SQlServer生成说明文档的小工具,目前不够完善,主要可以把数据库的表以及表的详细字段信息,导出到 Word中,可以方便开发人员了解数据库的信息或写技术说明文档. 技术上主要采用的 C#+Dapper+Npod ,开发工具为Vs2015,基于Net4.5框架. 实现思路: 1.首先获取数据库的字符串,测试链接是否成功, 2.通过脚本获取该服务器的数据库列表. 3.根据数据库找到该数据库的所有数据表 4.通过脚本找到该数据表所有的字段信息 5.使用N

Socket实现仿QQ聊天(可部署于广域网)附源码(4)-加入数据库系统搭建完成

1.前言 这是本系列的第四篇文章,上一篇我们讲到实现了客户端对客户端的抖屏与收发各种类型文件,本篇文章我们加入SQLServer数据库实现登录与好友的添加等功能,并对界面做了美化处理.向往常一样我会把聊天服务器部署到广域网服务器上,到时候大家就可以可以在源码里面打开客户端与我聊天啦!(这只是一个初级版功能简单不支持离线消息,所以聊天的前提是我在线(用户ID为19931221,就是我啦.)……),也可以自己打开两个客户端测试一下,程序的部署文档放在我的源码根目录下. 2.本篇实现功能 0. 数据库

Java实现文档在线预览(openoffice+swfTools+FlexPaper)

      文档在线预览在项目中早就完成了,后来又经过了一次优化.但是一直都没时间去记录遇到的问题,文档在线预览的详细步骤可以参考http://blog.csdn.net/u013614451/article/details/24261503,感谢博主写了这么好的文章帮助我完成了项目中主要的模块.下面是文档转换的工具类DocConvert.java,并标注出我修改的部分. package com.he.util; import java.io.BufferedInputStream; impor