FlexPaper实现文档在线浏览(附源码)
http://www.cnblogs.com/Gnepner/archive/2011/08/19/2145493.html1. 概述FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组件,被设计用来与PDF2SWF一起使用, 使在浏览器中显示PDF成为可能,而这个过程并无需PDF软件环境的支持。另外也可以通过将一些例如Word、PPT等文档转成PDF,然
http://www.cnblogs.com/Gnepner/archive/2011/08/19/2145493.html
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#)
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文档的浏览。
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) | 当用户点击外部链接的时候触发 |
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)