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

没有较全的参数说明。就连官方网站都没有。没法,最后只得将swf文件反编译后查看了源码才将里面的参数全部弄出来。

好了,废话不多说,开始正题。

 

1.概述

 

FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组件,被设计用来与PDF2SWF一起使用, 使在浏览器中显示PDF成为可能,而这个过程并无需PDF软件环境的支持。

另外也可以通过将一些例如WordPPT等文档转成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参数是你想显示的文件,Scale0-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)