Flexpaper开发指南

2024-04-04 10:18
文章标签 开发 指南 flexpaper

本文主要是介绍Flexpaper开发指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.

 

主要思路:

 

文档(

Word

PPT

等)

----> 

转换为

pdf ----> 

转换为

SWF 

 

 

-----> 

使用

FlexPaper

在线浏览

 

第一步:文档

--->

转换为

pdf 

openoffice+jodconverter

openoffice

sun

公司自己用

Java

写的一套开源

office

软件,

openoffice

的缺点在于这个文件很大。

 

 

Flashpaper

实现,有绿色版,可通过命令行

CMD

调用。

 

第二步:

pdf-->

swf 

pdf2swf

pdf2swf

提供了命令行参数,我们可以通过

Java

Runtime

Process

调用

pdf2swf

提供的命令将

pdf

转为

swf. 

 

第三步就是显示了,通过

flexpaper

实现

 

2.

 

CMD

命令行中运行

SWFTools

文件夹名字带有空格

 

对于

 

-t ,-o 

这两个参数

,

就是对于源文件路径来输出文件路径的问题,

如果你的文件夹的名

字中有空格的话,是不能找到文件的。

 

比如说:要转换的

pdf

源文件在

 

E:\Program Files\SWFTools\

这个文件夹下,当我

这样写

 

-t E:\Program Files\SWFTools\ajax.pdf

 

或者是输出文件路径写成这样

 

- o E:\Program Files\SWFTools\ajax.swf 

 

这样都是不能成功的,

因为这里面有文件夹

名含有空格,在路径的前后加上又引号就能成功啦,如

 

 

 

-o "E:\Program Files\SWFTools\ajax.swf"

 

这样就

OK

3.

 

Flexpaper

不能加载

swf

文件

 

FlexPaper

加载

swf

时,一直处于等待状态,无法显示,检查

swf

的路径也没错,但就是

一直无法加载。这种情况,很有可能就是

.swf

文件的版本问题啦。我们运行

SWFTools

图形工具(

gpdf2swf.exe

)把

pdf

转换为

swf

,但是转换后的

swf

也不能被

Flexpaper

正常加载,确保路径没错的话,那就是版本的问题啦。查看转换时

swf

的版本,可以点击

 

Edit->Options->Viewer

 

解决方法

:

须把

pdf

转换为版本为

9

swf

才能让它在

Flexpaper

中显示。

那么如何转换

9

的呢?我自己是使用

cmd

命令行工具来手工转换的

.

只须在命令行添加

 "-s 

flashversion=9"

 

这句,就可以转换为

9

的版本啦

4.

 

运行官方的

DEMO

Flexpaper

的用法

 

 

打开刚刚下载好的

Flexpaper

文件夹,打开里面的例子

 

index.html, 

 

1

)运行官方的例子,不能加载任何的

.swf

(包括例子中的

swf

(

如果能正常显示的

话,请跳过这一步

运行官方例子的时起,连所带的

Paper.swf

都不能加载成功,只见到右上角的圈圈一直在

动,处于等待的状态。:

 

 

这种情况,是由于

Flexpaper

还没获得

Adobe Flash

的信任,这时你可以前住

http://www.macromedia.com/support/documentation/en/flashplayer/help/set

tings_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'

,     <!--

对应于

标签的

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

 

5.

 

利用

JAVA

调用

pdf2swf.exe

PDF

转化

pdf

swf 

[java:nogutter]

 

view plaincopy

 

1.

 

/**

 

 

2.

 

     * 

pdf

文件转化成

swf

文件

 

 

 

3.

 

     * @param fileName 

文件的绝对路径

 

 

4.

 

     * @param destPath 

目标路径

 

 

5.

 

     * @return -1

:源文件不存在

,-2:

格式不正确

,-3

:发生异常

,0:

转化成功

 

 

 

6.

 

     * @author fanglm created on Jul 9, 2010 1:13:04 PM

 

 

7.

 

     */

  

 

8.

 

    

public

 

static

 

int

 ConvertPdfToSwf(String fileName,String destPath){  

 

9.

 

        String destName = 

""

,fileExt = 

""

;  

 

10.

 

        StringBuffer command = 

new

 StringBuffer();  

 

11.

 

        fileExt = fileName.split(

"//."

)[fileName.split(

"//."

).length-

1

].toLo

werCase();  

 

12.

 

        

try

{  

 

13.

 

            File file = 

new

 File(fileName);  

 

14.

 

            

if

(!file.exists()){

//

判断源文件是否存在

  

 

15.

 

                

return

 -

1

;  

 

16.

 

            }

else

 

if

(!fileExt.equals(

"pdf"

)){

//

判断文件是否是

pdf

格式的文件

  

 

17.

 

                

return

 -

2

;  

 

18.

 

            }  

 

19.

 

            

else

{  

 

20.

 

                String swftoolsPath = 

"D://SWFTools"

;//

获取

pdf

swf

工具的路

  

 

21.

 

                

if

(!swftoolsPath.substring(swftoolsPath.length()-

1

, swftools

Path.length()).equals(

"//"

)){ 

这篇关于Flexpaper开发指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/875513

相关文章

Python在二进制文件中进行数据搜索的实战指南

《Python在二进制文件中进行数据搜索的实战指南》在二进制文件中搜索特定数据是编程中常见的任务,尤其在日志分析、程序调试和二进制数据处理中尤为重要,下面我们就来看看如何使用Python实现这一功能吧... 目录简介1. 二进制文件搜索概述2. python二进制模式文件读取(rb)2.1 二进制模式与文本

SpringBoot整合 Quartz实现定时推送实战指南

《SpringBoot整合Quartz实现定时推送实战指南》文章介绍了SpringBoot中使用Quartz动态定时任务和任务持久化实现多条不确定结束时间并提前N分钟推送的方案,本文结合实例代码给大... 目录前言一、Quartz 是什么?1、核心定位:解决什么问题?2、Quartz 核心组件二、使用步骤1

VSCode开发中有哪些好用的插件和快捷键

《VSCode开发中有哪些好用的插件和快捷键》作为全球最受欢迎的编程工具,VSCode的快捷键体系是提升开发效率的核心密码,:本文主要介绍VSCode开发中有哪些好用的插件和快捷键的相关资料,文中... 目录前言1、vscode插件1.1 Live-server1.2 Auto Rename Tag1.3

在C#中分离饼图的某个区域的操作指南

《在C#中分离饼图的某个区域的操作指南》在处理Excel饼图时,我们可能需要将饼图的各个部分分离出来,以使它们更加醒目,Spire.XLS提供了Series.DataFormat.Percent属性,... 目录引言如何设置饼图各分片之间分离宽度的代码示例:从整个饼图中分离单个分片的代码示例:引言在处理

Python列表的创建与删除的操作指南

《Python列表的创建与删除的操作指南》列表(list)是Python中最常用、最灵活的内置数据结构之一,它支持动态扩容、混合类型、嵌套结构,几乎无处不在,但你真的会创建和删除列表吗,本文给大家介绍... 目录一、前言二、列表的创建方式1. 字面量语法(最常用)2. 使用list()构造器3. 列表推导式

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什