`
wh007_cx
  • 浏览: 29322 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【ZT】FlexPaper+SWFTools 实现仿百度文库及一些小问题

阅读更多

 

 

1.准备工作:下载FlexPaper及PDF转换工具pdf2swf.exe

Flexpaper下载地址:下载 (我下的是1.4.5 Flash Version (release notes))

Pdf2swf工具下载:下载  (我下的是swftools-2011-01-23-1815.exe下载后,安装)

2.运行官方的DEMO及Flexpaper的用法

 打开刚刚下载好的Flexpaper文件夹,打开里面的例子 index.html,

 (1)运行官方的例子,不能加载任何的.swf(包括例子中的swf)(如果能正常显示的话,请跳过这一步)

运行官方例子的时起,连所带的Paper.swf都不能加载成功,只见到右上角的圈圈一直在动,处于等待的状态。如下图:

 这种情况,是由于Flexpaper还没获得Adobe Flash的信任,这时你可以前住http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065 为FlexPaper添加信任.进入网页之后 ,点击左边的 Global Security Settings papel 这个选项,然后在右边(如下图)

为你的例子所在的文件夹添加信任。然后你再运行官方的例子,就会发现可以运行成功啦。

 (2)Flexpaper的用法

 我们可以查看index.html源代码,这里不多说,直接说它的用法吧:

 在前端的用法如下:

<!--首先要引入jquery库及相关的js-->
2 <script type="text/javascript" src="js/jquery.js"></script>
3 <script type="text/javascript" src="js/flexpaper_flash.js"></script>
4 <script type="text/javascript" src="js/flexpaper_flash_debug.js"></script>

 html中的代码,只需声明一个a标签即可

复制代码
 <body> 
<div style="position:absolute;left:10px;top:10px;">
<a id="viewerPlaceHolder" style="width:660px;height:480px;display:block"></a>
<script type="text/javascript">
var fp
= new FlexPaperViewer(
'FlexPaperViewer',
'viewerPlaceHolder',  <!--对应于a 标签的id-->
                         { config : {
SwfFile : escape(
'ajax.swf'), <!--这句是关键: SwfFile: 指示导入的.swf的路径-->
Scale :
0.6,
ZoomTransition :
'easeOut',
ZoomTime :
0.5,
ZoomInterval :
0.2,
FitPageOnLoad :
true,
FitWidthOnLoad :
false,
PrintEnabled :
true,
FullScreenAsMaxWindow :
false,
ProgressiveLoading :
false,
MinZoomSize :
0.2,
MaxZoomSize :
5,
SearchMatchAll :
false,
InitViewMode :
'Portrait',

ViewModeToolsVisible :
true,
ZoomToolsVisible :
true,
NavToolsVisible :
true,
CursorToolsVisible :
true,
SearchToolsVisible :
true,
localeChain:
'en_US'
}});
</script>
</div>
</body>
复制代码

 基本上,这样就可以在前端显示你的Flexpaper了.

  (3)只能加载官方例子所带的swf,但不能加载其他或自己的swf

  当我们想要FlexPaper加载我们自己的swf时,发现一直处于等待状态,无法显示,检查swf的路径也没错,但就是一直无法加载。这种情况,很有可能就是.swf文件的版本问题啦。我们运行SWFTools的图形工具(gpdf2swf.exe)把pdf转换为swf,但是转换后的swf也不能被Flexpaper正常加载,如果你确保路径没错的话,那就是版本的问题啦。

我们可以查看转换时swf的版本,我们可以点击 Edit->Options->Viewer

可以看到它帮我们转换为SWF的版本有 7,8两项,但这都是不能正常在FlexPaper中加载的,我们必须把pdf转换为版本为9的swf,才能让它在Flexpaper中显示。那么如何转换为9的呢?我自己是使用cmd命令行工具来手工转换的.只须在命令行添加 "-s flashversion=9" 这句,就可以转换为9的版本啦.示例如下:

参数说明如下:

(SWFTools我的默认安装路径是: E:\Program Files\)

SWFTools:pdf2swf.exe工具所在的文件夹,

-t: 源文件路径,即待转换的pdf文件路径。

-s: 设置参数,这里我们设置为 flashversion=9 ,即可以转换为9 的版本啦。

-o: 输出文件的路径,这里我输出到F:盘下

好了,这样就转换成功啦,你就可以得到一个.swf的文件,你只需拷到你下载的Demo里,配置好路径后,你就会发现FlexPaper可以正常加载你的swf啦.

在这里稍微强调一个小问题文件夹名字带有空格

对于 -t ,-o 这两个参数,就是对于源文件路径来输出文件路径的问题,如果你的文件夹的名字中,有空格的话,这样是不能找到你的文件的。

比如说:我要转换的pdf源文件在 E:\Program Files\SWFTools\这个文件夹下,当我这样写 -t E:\Program Files\SWFTools\ajax.pdf 或者是输出文件路径写成这样 - o E:\Program Files\SWFTools\ajax.swf  这样都是不能成功的,因为这里面有文件夹名含有空格,这应该是cmd命令的问题(这个我也不是很懂,希望有高手能说一下),这里你只有在路径的前后加上又引号就能成功啦,如: -t "E:\Program Files\SWFTools\ajax.pdf" 或  -o "E:\Program Files\SWFTools\ajax.swf" 这样就OK啦.

 

3. Asp.net 调用pdf2swf.exe把PDF转换为SWF的用法

 代码如下:

复制代码
 1   private static void ConvertCmd(string fileName)
2 {
3
4 using (Process p = new Process())
5 {
6 string cmdStr = HttpContext.Current.Server.MapPath("~/SWFTools/pdf2swf.exe");
7 string savePath = HttpContext.Current.Server.MapPath("~/TestSWF/");
8 // @"""" 相当于一个双引号,之所以要加@"""" 就是为了防止要转换的过程中,文件夹名字带有空格,导致失败
9 string sourcePath = @"""" + savePath + fileName + @"""";
10 string targetPath = @"""" + savePath + fileName.Substring(0, fileName.LastIndexOf(".")) + ".swf" + @"""";
11 string argsStr = " -t " + sourcePath + " -s flashversion=9 -o " + targetPath;
12 //调用新进程 进行转换
13 ProcessStartInfo psi = new ProcessStartInfo(cmdStr, argsStr);
14 p.StartInfo = psi;
15 p.Start();
16 p.WaitForExit();
17 }
18 }
复制代码

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

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

    ### Java+FlexPaper+swfTools_仿百度文库文档在线预览系统设计与实现 #### 关键技术点概述 本文档将详细阐述一个模仿百度文库文档在线预览系统的实现过程,该系统通过结合Java、FlexPaper和swfTools等技术手段,...

    FlexPaper+swfTools仿文档在线阅读

    FlexPaper+swfTools仿文档在线阅读是一种技术解决方案,它允许用户在网页上实现类似真实文档的在线预览体验。这种技术主要应用于那些希望提供无须下载即可在线查看各种文档格式(如PDF、DOC等)的网站和服务。下面将...

    借助OpenOffice、FlexPaper和SWFTools 实现仿百度文库的功能

    本工程为MyEclipse中的java web工程,它用于演示如何借助OpenOffice、FlexPaper和SWFTools 实现仿百度文库的功能。 本工程编码方式:UTF-8 对conf.properties文件的说明: #OpenOffice的安装根目录 OpenOffice_...

    FlexPaper+SWFTools+ASP.NET实现仿百度文库源码

    FlexPaper+SWFTools+ASP.NET实现仿百度文库源码是一种在线文档预览和分享的解决方案,它结合了多种技术来提供类似百度文库的功能。这个系统的主要目的是让用户能够方便地上传、浏览和分享各种格式的文档,如PDF、DOC...

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

    根据提供的文档标题、描述、标签以及部分内容,本文将详细介绍如何使用Java、FlexPaper及swfTools来设计并实现一个类似于百度文库的文档在线预览系统。本系统旨在让用户能够在线预览各种类型的文档,无需下载或安装...

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

    ### Java+FlexPaper+swfTools 仿百度文库文档在线预览系统设计与实现 本文将详细介绍如何使用Java结合FlexPaper和swfTools技术来实现一个类似百度文库的文档在线预览系统。该系统的主要功能是允许用户在线浏览各种...

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

    Java-FlexPaper-swfTools-仿百度文库文档在线预览系统设计与实现 本文主要介绍了使用Java、FlexPaper和swfTools实现文档在线预览系统的设计和实现。该系统可以将上传的文档(包括ppt、word、excel、txt)转换为swf...

    java + openOffice + swfTools + flexpaper 实现的仿百度文库文档在线浏览(源码)

    鉴于网上找的在线浏览都略去了flexpaper ,于是自己花费几个小时完成了openOffice + swfTools + flexpaper 技术实现仿百度文库的在线浏览。功能已经实现,需要的自己下去优化一下,修改下openoffice和SWFTOOLS安装...

    Java+FlexPaper+swfTools 文档在线阅读

    Java+FlexPaper+swfTools 是一种常见的技术组合,用于实现文档在线预览和阅读功能。这个技术栈主要由三个核心组件组成:Java、FlexPaper 和 swfTools。下面将详细解释这三个组件以及如何整合它们来创建一个文档在线...

    openoffcie+swftools+flexpaper实现类似百度文库的阅读效果

    这里提到的技术栈“openoffcie+swftools+flexpaper”恰好提供了这样的解决方案。下面将详细阐述这三款工具及其在实现该目标中的作用。 首先,OpenOffice是一个开源的办公软件套件,它包含了处理文字处理、电子表格...

    FlexPaper+swftools+jodConverter

    FlexPaper、SwfTools 和 JodConverter 是三个在文档在线预览领域中广泛使用的开源工具。下面将分别介绍这三个工具及其在文档处理中的作用。 1. **FlexPaper**: FlexPaper 是一款强大的在线文档查看和转换解决方案...

    在线展示文档实例c#:FLEXPAPER+SWFTOOLS+office2016+vs15

    本文将详细讲解一个基于C#的在线文档展示实例,该实例利用了FLEXPAPER插件、SWFTOOLS以及Office 2016来实现从Office文件到PDF再到SWF的转换,最终实现在线展示的效果。 首先,我们来了解FLEXPAPER。FLEXPAPER是一款...

    在线文档浏览(OppenOfiice+FlexPaper+swftools)

    本文主要探讨了三个关键工具:OpenOffice、FlexPaper和Swftools,它们共同构成了一个强大的免费在线文档预览解决方案。 首先,OpenOffice是一款开源的办公软件套件,它可以处理包括Microsoft Office格式在内的多种...

    java+flexpaper+swftools office转为swf

    Java结合FlexPaper、SWFTools和OpenOffice是一个常见的解决方案,用于将Microsoft Office文档转换为SWF格式,以便在Web上以交互式的方式展示。这个过程涉及到多个步骤和技术,以下是详细的解释: 1. **Java**: Java...

    FlexPaper+SWFTools+ASP.NET(支持PDF).7z

    在实现这个解决方案时,开发者需要了解ASP.NET的MVC架构,掌握如何使用FlexPaper的JavaScript库以及如何在服务器端通过C#代码调用SWFTools的命令行工具。同时,还需要关注性能优化,例如批量转换PDF、缓存转换结果...

    仿百度文库方案[openoffice.org 3+swftools+flexpaper]

    仿百度文库方案[openoffice.org 3+swftools+flexpaper]对于不会写的菜鸟可以在几分钟内入门,里面有现成的代码,并且有详细流程。内附完整完美安装包,让你不虚费力去四处寻找。(openoffice安装包过大这里我会给出...

    FlexPaper_2.1.0+swftools-2013-02-19-1826

    最新FlexPaper2.1.0+swftools 0.9.2,仿百度文库,pdf第二种web展示方式, FlexPaper去版权图片,附件swftools工具直接生成swf Flexpaper无法打开的解决方案

    仿百度文库文档在线预览

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

    openoffice+swftools+flexpaper在线预览文档

    标题 "openoffice+swftools+flexpaper在线预览文档" 涉及到的是一个技术解决方案,用于在Web环境中实现文档的在线预览。这个方案主要包括三个关键组件:OpenOffice、SwfTools和FlexPaper。 1. **OpenOffice**: ...

Global site tag (gtag.js) - Google Analytics