园子里也有关于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实现文档在线浏览(附源码)的更多相关文章

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

    Java模拟实现百度文档在线浏览 这个思路是我参考网上而来,代码是我实现. 采用Apache下面的OpenOffice将资源文件转化为pdf文件,然后将pdf文件转化为swf文件,用FlexPaper ...

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

    昨晚配置完成office web apps 2013的外部网络访问之后,今天发现了一个很奇怪的问题,就是IE 11不支持文档在线浏览,找了很多方法,打补丁什么的,都不管用,最后在预览文件的页面,看到& ...

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

    原文:http://developer.51cto.com/art/201501/464174.htm 编者按:本文收集了百来篇关于机器学习和深度学习的资料,含各种文档,视频,源码等.而且原文也会不定 ...

  4. Java+FlexPaper+swfTools 文档在线预览demo

    1.概述 主要原理 1.通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件 2.通过swfTools将pdf文件转换成swf格式的文件 3.通过FlexP ...

  5. Linux下实现文档在线浏览

    使用php实现百度文库功能,网上搜索到的方案,实现doc转pdf,pdf转swf,然后显示出来. 这里简单的记录下,[doc转pdf,pdf转swf]两个功能的搭建流程. doc转pdf 使用到下列程 ...

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

    这是一款简单的数据库文档生成工具,主要实现了SQlServer生成说明文档的小工具,目前不够完善,主要可以把数据库的表以及表的详细字段信息,导出到 Word中,可以方便开发人员了解数据库的信息或写技术 ...

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

    1.前言 这是本系列的第四篇文章,上一篇我们讲到实现了客户端对客户端的抖屏与收发各种类型文件,本篇文章我们加入SQLServer数据库实现登录与好友的添加等功能,并对界面做了美化处理.向往常一样我会把 ...

  8. Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现

    笔者最近在给客户开发文档管理系统时,客户要求上传到管理系统的文档(包括ppt,word,excel,txt)只能预览不允许下载.笔者想到了百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash ...

  9. 文档在线预览开源实现方案一:OpenOffice + SwfTools + FlexPaper

    在文档在线预览方面,项目组之前使用的是Microsoft office web apps, 由于该方案需要按照微软License付费,项目经理要我预研一个文档在线预览的开源实现方案.仔细钻入该需求发现 ...

随机推荐

  1. A. Right-Left Cipher Round #528 (Div. 2)【字符串】

    一.题面 题目链接 二.分析 该题就是一个字符串的还原.长度为奇数时从左边开始,长度为偶数时从右边开始. 三.AC代码 #include <bits/stdc++.h> using nam ...

  2. POJ_2492 A Bug's Life 【并查集】

    一.题面 POJ2492 二.分析 并查集判断类别的题目感觉套路都差不多. 还是先判断在不在一个集合里,在一个集合里才能判断是否同类. 若不在一个集合里则需要将这两个点联系起来. 关于联系起来后关系的 ...

  3. HDU 6357.Hills And Valleys-动态规划(区间翻转l,r找最长非递减子序列)

    题意:给一串由n个数字组成的字符串,选择其中一个区间进行翻转,要求翻转后该字符串的最长非降子序列长度最长,输出这个最长非降子序列的长度以及翻转的区间的左右端点 #include<bits/std ...

  4. 109th LeetCode Weekly Contest Number of Recent Calls

    Write a class RecentCounter to count recent requests. It has only one method: ping(int t), where t r ...

  5. H5常见问题 微信踩过得坑

    微信页面内 click事件 只在a链接的时候有效,如果是div或者span之类  一定要加上样式 cursor:pointer 点击事件才生效. <div style="cursor: ...

  6. knime 设置 小数点精度

    kinme 默认小数精度是保留三位小数. 如果0.0003,knime会自动舍弃,读出0.下面步骤教你怎么把小数精度全部显示. File->references->preferred re ...

  7. 安装Samba服务让宿主机和虚拟机共享文件

    安装 samba 服务器之后,很方便的实现 Windows 和 Linux 进行通信. 安装步骤: 1 .在 Ubuntu 系统下面安装 samba 服务: $ sudo apt-get instal ...

  8. 用poi替换ppt中的文字和图片

    try {            // 获取PPT文件             String pptModelPath =ConfigReadUtil.getInstance().getConfigI ...

  9. 啊啊啊啊啊啊啊今天就写,炒鸡简单 数据库Sqlite的创建,库的增删改查

    啦啦啦啦啦啦啦 写这个不用多长时间,我直接写代码注释都是些语句,Sql语句和Api来操作数据库 ,语句的参数我会注释 SQLite数据库创建数据库需要使用的api:SQLiteOpenHelper必须 ...

  10. 【Linux】linux文件夹打包命令

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ---------------------- ...