【Jsp精品源码栏目提醒】:以下是网学会员为您推荐的Jsp精品源码-【精品】Flexpaper二次开发入门教程 - 其它资料,希望本篇文章对您学习有所帮助。
Flexpaper 二次开发入门教程1. Flexpaper 介绍1.1 Flexpaper 是什么?Flexpaper 是由一家新西兰的 Devaldi 公司开发的在线浏览各种文件的组件,它采用的是 GPL开源的协议,即源代码开放并可以最其进行修改使用,这一切都是免费得,但不能对 Flexpaper
源码修改后封装成商业软件进行发布和销售。
Flexpaper 官方主页:http://flexpaper.devaldi.com1.2 Flexpaper 可以做什么?如果你有一些 DOC、PPT、PDF 等格式的文档,想在网站里提供给大家在线阅读,那怎样做好呢?现在 Flexpaper 可以为你做到,当然 Flexpaper 还有一个搭档,那就是 SWFTools,通过 SWFTools生产 SWF,再通过 Flexpaper 组件显示,这对黄金搭档可以为你实现的在线文档功能。
使用 Flexpaper 浏览 PDF,那需要 PDF 软件环境的支持吗?答案是不需要的,Flexpaper 还可以被当做 Flex 的库来使用,这些都使开发、使用变得更简单。
1.3 Flexpaper 版本Flexpaper 的初始版本 1.0 发布于 2009 年, swc 到现在已经有 42 个版本。
版本为组件包,使用 swc组件包需要导入到工程中再调用,flash 版本为可以单独执行的,里面有例子、JS 文件、SWF 文件,我们采用 flash 版本很容易就可以使用 Flexpaper 显示在线文档。
SWFTools 介绍1.5 SWFTools 介绍SWFTools 是一个 SWF 处理、转换的开源工具,它的功能主要体现在:1. SWF 的抽取、合并、解析、读写;2. PDF/JPEG/PNG/AVI/TTF/WAV 等格式转换成 SWF。
SWFTools 是采用 GPL 开源协议,永久免费,现在 SWFTools 已经支持 Solaris Linux 32 bit和 64 bit FreeBSD OpenBSD HP-UX Solaris MacOS X and Windows 98/ME/2000/XP/Vista 等多个系统。
,下载后安装后可以看到它的工具官方对各个工具的描述: PDF2SWF A PDF to SWF Converter. Generates one frame per page. Enables you to have fully formatted text including tables formulas graphics etc. inside your Flash Movie. Its based on the xpdf PDF parser from Derek B. Noonburg. SWFCombine A multi-function tool for inserting SWFs into Wrapper SWFs contatenating SWFs stacking SWFs or for basic parameter manipulation e.g. changing size. SWFStrings Scans SWFs for text data. SWFDump Prints out various informations about SWFs like contained images/fonts/sounds disassembly of contained code as well as cross-reference and bounding box data. JPEG2SWF Takes one or more JPEG pictures and generates a SWF slideshow from them. Supports motion estimation compression h.263 for better compression of video sequences. PNG2SWF Like JPEG2SWF only for PNGs. GIF2SWF Converts GIFs to SWF. Also able to handle animated gifs. WAV2SWF Converts WAV audio files to SWFs using the L.A.M.E. MP3 encoder library. AVI2SWF Converts AVI animation files to SWF. It supports Flash MX H.263 compression. Some examples can be found at examples.html. Notice: this tool is not included anymore in the latest version as ffmpeg or mencoder do a better job nowadays Font2SWF Converts font files TTF Type1 to SWF. SWFBBox Allows to read out optimize and readjust SWF bounding boxes. SWFC A tool for creating SWF files from simple script files. Includes support for both ActionScript 2.0 as well as ActionScript 3.0. SWFExtract Allows to extract Movieclips Sounds Images etc. from SWF files. AS3Compile A standalone ActionScript 3.0 compiler. Mostly compatible with Flex.gpdf2swf 的工作界面:SWFTools 官方网站:http://www.swftools.org/2. Flexpaper 二次开发准备工作Flexpaper 虽然已经提供了不错的功能,但我们还是有可能需要根据自己的需要对 Flexpaper 进行二次开发,做什么事情都要做足准备,这样才可提高成功率,因此进行 Flexpaper 二次开发,这一步也是必不可少的,需要什么、怎么去做,我们会在下面慢慢介绍。
2.1 获得 Flexpaper
源码我们可以通过 http://flexpaper.googlecode.com/svn/trunk/这个地址,获取 Flexpaper 的
源码(我下载的是 2012-1-24 日的版本)。
在获取前,我们需要安装 SVN,这里我们使用 TortoiseSVN,安装后打开,选择 file-TortoiseSVN-Repo-browser,输入上面的地址:链接上后,可以看到目录结果如下图:我们选择 trunk/FlexPaper 目录,右键选择 Checkout,在提示框中选择 Checkout 目录,确认后会开始下载,如下图:Checkout 完毕后,可以看到相应目录下2.3 把 Flexpaper
源码导入 Adobe Flash Builder2.3.1 创建 Flex 项目选择工具栏上的“文件”-新建 - Flex 项目在创建项目窗口,我们主要填写、选择下面内容:a输入项目名称,这里我使用了 ajavaflexpaper;b项目位置为你的存放项目文件的目录,这里我使用了 F:ajavaflexpaper;c应用类型我们选择”web在 Adobe Flash Player 中运行”,因为我们要在 web 页面浏览,所以选择了此项;d选择 Flex SDK 版本,这里采用 Flex SDK 4.0;e应用的是那种服务器技术,可选择:无/其他、ASP.NET、ColdeFusion、J2EE、PHP 等,这里我选择了无/其他。
填写、选择完毕后,点击下一步,进入“配置输出”提示框,选择已编译的 FLEX 应用程序的位置,这里我采用了默认的 bin-debug 目录,
源码重新编译后,文件会放在 bin-debug 目录。
点击下一步,来到最后一步,设置源路径和库路径。
我们选择的内容有组件集选择“仅 MX” ,其他默认就可以,当 ,框架链接选择“合并到代码中”然你也可以重新设置你的“主源文件夹”和“主应用程序文件”。
点击完成,Flex 项目创建完毕,到 F:ajavaflexpaper 目录,可看到如下图的目录结构:2.3.2 把 flexpaper
源码复制到 Flex 项目目录我们要复制的目录有:locale、src 复制到 Flex 项目根目录F:ajavaflexpaper中,lib 里的FlexPaper_Resources.swc 复制到 F:ajavaflexpaperlibs 中。
复制完毕后,在 Flash Builder 4 中右击项目名选择刷新,刷新后可见项目中增加了一些文件,见下图红色框部分:到目前为止,准备工作已完成,为 FlexPaper 二次开发做好准备。
下节我们先介绍 FlexPaper和 SWFTools 的简单使用,对使用有了了解后,再进入二次开发内容。
3. SWFTools 的简单使用有了第一章的介绍, 下面我们开始演示怎样使用 SWFTools 大家对 SWFTools 应该有了基本的认识,的 gpdf2swf.exe、pdf2swf.exe 的使用,由于本教程的内容范围较小,所以其他工具使用不在这里介绍。
3.1 使用 swftools 生成第一个 SWF方式一、使用 gpdf2swf 可视化窗口我们打开 gpdf2swf 可视化窗口后,选择 Open PDF,选择要生成 SWF 的 PDF 文件之后保存为 SWF,你可以选择把所有页面或者部分页面加入到 SWF 文件,操作如下图:(打开 PDF 文件)(选择 PDF 文件) (设置参数) (保存为 SWF 文件)在这里大家要注意,使用目前最新版本的 SWFTools 中 gpdf2swf.exe 生成 PDF,在设置参数中,只能选择 Flash 7 或者 8 版本,但目前 Flash 9 或者 10 版本都大行其道,因此 mark 建议生成 SWF时采用第二种方式,我们下面继续介绍。
方式二、使用 pdf2swf.exe 命令我们打开 CMD,进入 SWFTools 的安装目录,这里我的安装目录是 D:Program FilesSWFTools,pdf2swf.exe 的命令形式为:pdf2swf.exe -options file.pdf -o file.swf我们执行下面的命令:pdf2swf.exe -t F:ajavaFusionCharts.pdf -s flashversion9 -o F:ajavaFusionCharts.swf由上图我们可以看到每页转换的提示,最后写入到 SWF 文件中,打开 F:ajava 目录,可以看到FusionCharts.swf 已经生成,这个 swf 的版本是 flash 9。
这里用到了 pdf2swf.exe 的-t、-s、-o 参数,下一节我们对 pdf2swf.exe 的参数作详细介绍。
注意:pdf2swf.exe 命令中的文件名、目录名,不能带空格,否则不能生成 SWF。
3.2 SWFTools 参数介绍我们输入:D:Program FilesSWFToolspdf2swf.exe –h,就可以获得帮助信息,本小节的参数描述转自某朋友的文章,mark 作了简单的修改,因不知道谁是原创者,特说明,表示感谢,若作者见本教程,可到 ajava.org 网站联系 mark,将在本节中添加原作者大名。
-h –help 打印帮助信息-V –version 打印版本号-o –output file.swf 指定输出的 swf 文件名-p –pages range 指定转换的页面范围 1-20 或者 1469-11,使用的页码描述方法与打印机打印文件时候的选页一样-P –password password 指定打开 pdf 的密码-v –verbose 转换时输出详细的内容-z –zlib 使用 Flash 6 的 zlib 压缩机制-i –ignore 允许程序修改 pdf 的绘制顺序,可能会导致结果与原来有差异-j –jpegquality quality 设置转换其中的 jpeg 图片的质量,从 0 到 100,默认值是 85。
-s –set paramvalue 设置 SWF 转码时候的参数,具体参数可以用 pdf2swf -s help 获取-w –samewindow 设置转换后的 swf 打开原 pdf 中的连接时使用相同的窗口-t –stop 在每页结尾添加一个 stop命令-T –flashversion num 设置 SWF 所使用的 flash 版本号-F –fontdir directory 指定字体文件所在路径-b –defaultviewer 指定默认的 swf 导航文件,用来翻页、放大缩小等等-l –defaultloader 指定默认的 swf 加载文件,用来显示加载进程效果-B –viewer filename 指定 swf 导航文件,作用同-b-L –preloader filename 指定 swf 加载文件,作用同-l-q –quiet 不打印普通信息,用-qq 就不打印警告信息。
-S –shapes 不使用字体,所有都转为形状。
-f –fonts 在 swf 中保存全部字体。
-G –flatten 在文件中尽量去除影片层,合并它们-I –info 不做实际转换,仅显示 PDF 的信息。
-Q –maxtime n 如果运行时间超时则退出。
我们可以看到-s 参数的用途,设置 SWF 转码时候的参数,可以通过 pdf2swf -s help 命令获得更多的参数:PDF 参数:PDF device global parameters:fontdir 指定字体目录 与 1 级参数的-F 相若font 增加额外的字体文件pages 指定页面范围,与 1 级参数的-p 相若zoom 指定分辨率,默认为 72dpilanguagedir 增加一个 xpdf 的语言目录,对非西欧字符有用multiply 在几倍分辨率下渲染poly2bitmap 把其中的图形转成点阵bitmap 把所有内容转成点阵(包括字体)SWF 参数:SWF layer options:jpegsubpixels jpeg 图片的分辨率ppmsubpixels 无损图片的分辨率subpixels 快速设置上两个参数drawonlyshapes 所有都转成图形ignoredraworder SWFs 允许执行一些小优化linksopennewwindow 链接打开新窗口linktarget 新链接窗口的名称linkcolor