- 浏览: 49690 次
- 性别:
- 来自: 青岛
最新评论
FlashPaper 使用经验之谈
李志海 20101229 QQ:76855049 一、目的 我的这篇文章侧重点是如何很好的应用FlashPaper,不是告诉大家FlashPaper是什么。 二、FlashPaper介绍(从百科里面摘的) FlashPaper 是Macromedia推出的一款电子文档类工具,通过使用本程序,你可以将需要的文档通过简单的设置转换为SWF格式的Flash动画,原文档的排版样式和字体显示不会受到影响,这样做的好处是不论对方的平台和语言版本是什么,都可以自由的观看你所制作的电子文档动画,并可以进行自由的放大,缩小和打印,翻页等操作,对文档的传播非常有好处,而且由于Flash动画的普及性和强大的可调节性,可以让你制作出非常漂亮的专业电子文档! 三、所需软件 l Windows 系列操作系统
l FlashPaper2.2 绿色版就行。网上有,或者到我的csdn上下载
l Office 2010 建议装最新版本的,我以前装的是2007感觉不是很好。
l AdobeReader 最新版本 四、转化程序 转化程序是通过cmd调用的FlashPrinter.exe这个命令执行的。转化程序注意几点: l 把要转化的文件放入队列,保证程序一个一个的执行转化。 l 转化完成后让程序延迟一会,再执行下一个 主要代码如下: String tmpOutFile = outFile.getPath().concat(File.separator) .concat( inFile.getName() .replaceAll("[.]{1}.*$", ".swf")); fileInst = new File(tmpOutFile); List commandArray = new ArrayList(); commandArray.add(defaultCommand); commandArray.add(inFile.getPath()); commandArray.add("-o"); commandArray.add(tmpOutFile); ProcessBuilder pbObj = new ProcessBuilder(); pbObj.command(commandArray); Map envMap = pbObj.environment(); envMap.clear(); envMap.putAll(System.getenv()); pbObj.directory(outFile); pbObj.redirectErrorStream(true); boolean b = false; Process proObj = null; try { proObj = pbObj.start(); final InputStream ins = proObj.getInputStream(); final ByteBuffer byteBuffer = ByteBuffer.allocate(1024); Thread th = new Thread() { publicvoid run() { ReadableByteChannel rbcObj = Channels .newChannel(ins); try { while (rbcObj.read(byteBuffer) != -1) { byteBuffer.flip(); logger.info(java.nio.charset.Charset .defaultCharset() .decode(byteBuffer)); byteBuffer.clear(); } } catch (IOException e) { logger.error(e); } } }; th.setDaemon(true); th.start(); try { proObj.waitFor(); b = true; } catch (InterruptedException e) { logger.error(e); } // 休息 Thread.sleep(30 * 1000); } catch (Exception e) { logger.error("执行出错了");
logger.error(e);
} finally {
if (proObj != null) {
proObj.destroy();
} ManagerThread.getInstance().doNext(b, resFileConvert); } 注意:别人有写好的FlashPaper4Java可以参考一下。这个网上也有,或到我的csdn上下载。 五、进程实护 用FlashPaper做转化一定要注意进程实护问题。因为FlashPaper用的是打印原理。同一台机器,同一时间只能有一个进程在执行。其它的只能是等待。另外在打印的时候可能会出现"卡纸"问题,需要程序去实时监控。
我的进程实护程序是用c#写的,每隔一段时间去看进程运行时间是不是超过了你设定的时间,如果超过了,就杀掉。主要代码如下:
foreach (Process print inProcess.GetProcessesByName("FlashPrinter"))
{
if (((TimeSpan)(DateTime.Now - print.StartTime)).TotalMinutes > 3)
{
print.Kill();
}
}
进程实护程序用c/s程序写。写完后把它加到启动项里,每次重启机就不用关了。 六、Flex加载FlashPaper 上面是说如何把文件转化为 swf的。下面我们来说如何把文件展现出来。我目前用的是方法一。
方法一:SWFLoader加载,加载完后改变它的大小。
如果直接用SWFLoader加载的话,加载出的界面很小,不会按父容器的大小去自动变化。所以要给它加一个监听器,加载完后再去改变它的大小。如下:
Private function init():void{
swfLoader.addEventListener(Event.INIT, initHandle);
}
private function initHandle(e : Event) : void {
swfLoader.getChildAt(0).width=pWidth;
swfLoader.getChildAt(0).height=pHeight;
}
优点:打开多个浏览器都不会影响其正常显示。与方法二的区别
缺点:文件会有点变形。
方法一:SWFLoader加载,通过LocationConnction与FlashPaper进行通信,调用其内部方法,改变其大小。
优点:不能同时打开多个文件,因为LocationConnction通道已经被第一占用了。
缺点:文件不会变形。 七、破解FlashPaper的自带的商标 FlashPaper2.2\Interface文件夹下有DefaultViewer2.swf文件,把其替换成自己的皮肤就可以。
发表评论
-
字符串的排列--总结
2012-07-06 09:51 577题目:输入一个字符串,打印出该字符串中字符的所有排列。例如 ... -
验证整数、小数、实数、有效位小数最简单JavaScript正则表达式
2012-07-06 09:45 660输入完按回车后即可验证!(自认为最简单!) 正整数: ... -
正则表达式学习笔记
2012-07-06 09:37 614元字符: \b: 匹配一个位置,可以是一个串中间的某个位置 ... -
AndroidVirtual Devices (AVD)创建、设置
2012-07-06 09:30 9181.将android-sdk 中的to ... -
div的使用
2012-07-05 20:45 6311.div显示在屏幕中央。 ... -
Android 桌面组件【widget】初探
2012-07-03 13:43 579本来打算晚上继续 Api Demos 系列的,不过今天下午 ... -
flex datechooser 日期小例子
2012-07-02 10:38 657在这个例子中,我们讲解的是DateChooser 控件,这 ... -
Flex权威指南3学习笔记之一------界面知识(二)
2012-07-02 10:38 516使用基于条件的约束的布局 1.在viewCart按钮和ch ... -
flex 读取配置文件 与PHP交互 圆饼图
2012-07-02 10:38 609FLEX文件 teacherevalute.mxml ... -
Flex获取操作XML示例
2012-07-02 10:38 576/****** ".",&qu ... -
关于flexigrid一点用法
2012-07-01 00:16 569闲来无事在网上找了一个jquery的grid插件 flex ... -
Parsley初次应用
2012-07-01 00:16 674Parsley是一个比较著名的Flex IoC开源项目,也 ... -
在应用中使用Ext Loader
2012-07-01 00:16 606原文:http://www.sencha.com/b ... -
jsp页面
2012-07-01 00:15 550做人,生活,学习,玩.... ...
相关推荐
FlashPaper经验之谈,详细的绍了我在使用FlashPaper使用注意事项,和使用时候遇见到问题,以及解决方法。
Flashpaper使用方法-Flashpaper使用方法-Flashpaper使用方法
通过使用FlashPaper,可以将需要的文档通过简单的设置转换为SWF格式的Flash动画,原文档的排版样式和字体显示不会收到影响,这样做的好处是不论对方的平台和语言版本是什么,都可以自由的观看你所制作的电子文档动画...
asp.net 调用flashPaper 的实例
FlashPaper2 使用 方法
使用时只需要将下载的模板文件替换至FlashPaper2.2的Interface文件夹下即可。 注:我实用的是FlashPaper2.2绿色版,对于不是该版本的FlashPaper2.2是否能够采用此模板,我不是很清楚。 另注:第一次发东西,请大家多...
使用C# 调用flashpaper 将文档 图片 转换成swf格式的文件
flashpaper修改版,已经去掉了logo~
flashpaper 汉化补丁flashpaper 汉化补丁flashpaper 汉化补丁
描述了java自动将操作系统所支持的文档使用flashPaper转换成swf文件
FlashPaper2.2终极汉化版FlashPaper2.2终极汉化版
FlashPaper2 的官方安装文件 SN摆渡就有
flashPaper2+注册码+win7安装方法 本人刚搞定 于是分享给大家
FlashPaper2