有个功能需求也是自己一直想实现的,就是文档在线分享。这种豆丁网、百度文库已经使用了。网上关于这种实现方式也有几种,最简单的是调用flashpaper打印,还有就是先通过例如openOffice.org之类的将文档转换为pdf,然后PDF再转换为swf。flashpaper早已被adobe抛弃,永远的停在了2.0。而且没有linux版,因为就是为了方便windows用户将office文档转换为pdf而出现的一个插件。openOffice我还没尝试,查看了一些资料,调用它的第三方包php的好像就只有puno,而puno官网看得我稀里糊涂,一个完整的例子都没有。完全不适合新手,但我暂时也没那么多时间折腾在那了。考虑到服务器性能跟尽快实现的难易程度,最终我不得不将设想做出了调整:不采用用户上传再后台转换,而采用上传之前本机先转换好再上传。
这样做就牺牲了体验,而且要转换就得在用户机子上装上flashpaper,我很不甘心。但是这个部分以后可以再完善。当然,这只是个毕业设计,这样暂时是已经足够了,慢慢来吧。
具体的实现方式如源码所示,调用了flashprinter.exe将参数传递给它,打印。这个例子只要改成将要转换的地址跟存放地址传入就可以用了。
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
protected var npsi:NativeProcessStartupInfo;
protected var nativeProcess:NativeProcess;
protected var file:File = new File("c:\\flashpaper\\FlashPaper2.2\\FlashPrinter.exe");
protected var args:Vector.<String> = new Vector.<String>();
protected function doConvert(event:MouseEvent):void
{
args.push('c:/jiaoan.doc');
args.push('-o');
args.push('c:/b.swf');
npsi = new NativeProcessStartupInfo();
npsi.arguments = args;
npsi.executable = file;
nativeProcess = new NativeProcess();
//nativeProcess.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA,onStandardOutputData);
//nativeProcess.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onError);
nativeProcess.start(npsi);
}
]]>
</fx:Script>
<s:Button id="btn1" x="50" y="0" label="WORD转换为SWF" click="doConvert(event)"/>
</s:WindowedApplication>
这里有可能会遇到些问题,如:
1. 报Error #3219: The NativeProcess could not be started. ‘Not supported in current profile.’ 解决办法是在-app.xml文件中加入这一行(直接加在后面就可以)
extendedDesktop
2. debug时先是打开office,然后flashpaper转换好后提示没有权限保存要你手动点保存。这个是写成了这样单反斜杠的缘故
分享到:
相关推荐
AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正AIR2.0 调用应用程序 修正 ...
在本文中,我们将深入探讨Adobe Integrated Runtime(AIR)2.0中的一个重要功能——调用本地应用程序,以及如何通过实例和样例实现与本机的通信。AIR 2.0为开发者提供了一种强大的方式,允许Flex或ActionScript应用...
总结来说,AIR 2.0调用应用程序的能力是通过NativeProcess API实现的,它扩展了AIR应用程序的功能边界,使其能更好地融入用户的工作环境。开发者可以利用这一特性为用户提供更丰富的功能,提高应用的实用性和用户...
而 drv_air780e.h 文件则包含了这些函数的声明,定义了函数接口,使得其他源文件可以正确地调用这些驱动程序功能。它可能包含常量定义、结构体定义和函数原型,例如: 1. 常量定义:定义了与模组通信相关的常量,如...
总结来说,为了实现AIR应用程序调用C++编写的DLL,开发者需要掌握AIR环境下的应用发布和调试,熟悉FluorineFx Aperture Framework的安装和配置,以及具备C++ DLL编写和管理的能力。这些知识点共同构成了 AIR 调用 ...
Flex Air调用C代码是跨平台开发中的一个重要技术,它允许使用ActionScript 3的Flex应用程序与本地系统资源进行交互,比如C/C++编写的动态链接库(DLLs)或共享对象(SOs)。这个技术主要依赖于Adobe AIR的Native ...
- **从本机扩展标识调用应用程序**:在某些情况下,可能需要从本机扩展内部启动另一个应用程序。 - **本机扩展向后兼容性**:考虑到不同版本Adobe AIR之间的差异,编写本机扩展时应考虑其向后兼容性问题。 #### 三...
利用第三方工具实现air对动态链接库的调用
AirPrint是由Apple公司开发的一项技术,它允许iPhone、iPad和iPod touch等iOS设备通过无线网络直接打印文档、照片、电子邮件等内容,无需安装任何特殊的驱动程序。AirPrint支持多种文件格式,包括PDF、JPEG、PNG等,...
AIR用Flex调用java连数据库和一些主要功能的实现。。如httpService...webSerivce 的调用等等
本主题聚焦于如何利用AIR来运行外部的.exe程序,并进行输入输出交互,以接收并处理输出结果。 首先,理解AIR运行exe程序的基本原理:AIR提供了NativeProcess类,它是用来与操作系统本地进程进行交互的核心工具。...
《Air200T模块AT命令手册》是上海合宙通信科技有限公司为用户提供的详尽指南,用于理解和操作Air200T模块的AT命令。手册共有200页,内容丰富,旨在帮助用户深入掌握模块的功能和配置。 AT命令是串行通信中的标准...
AIR可以直接通过ActionScript的NativeProcess类来启动.exe文件,这允许AIR应用程序执行本地系统上的任何可执行程序,传递参数并接收输出。 5. **Bat To Exe Converter.exe**:这个文件名表明它可能是一个工具,用于...
### 关于在Flex的AIR应用程序中执行EXE文件的知识点 #### 一、Flex与Adobe AIR简介 Flex是一个用于构建跨平台的桌面应用程序和移动应用程序的开源框架。它使用MXML(Mark-up Language)和ActionScript语言进行开发...
air printer(无线打印照片软件)V1.6.6.1 无限制特别版 如果你有台iPhone手机, 或者苹果iPad平板电脑,那么你可以很方便得利用苹果iOS系统内置AirPrint功能WiFi无线打印照片,Word,PDF等各种文件到你的Air Printer...
当设备连接到同一Wi-Fi网络下的AirPrint兼容打印机时,用户可以直接选择打印邮件、照片、网页等内容,无需安装额外的软件或驱动程序。AirPrint支持多种文件格式,如PDF、JPEG等,并且可以调整打印设置,如页边距、...
《Air202 MQTT测试程序详解》 在物联网(IoT)领域,MQTT(Message Queuing Telemetry Transport)协议因其轻量级、低功耗和高可靠性的特性,成为了设备间通信的重要选择。本文将深入探讨Air202 MQTT测试程序,包括...
标题中的"最新AIR安装程序免费分享"指的是该压缩包中包含的是Adobe AIR的最新版本安装程序,通常这些安装程序会包含所有必要的组件,用于在用户的计算机上安装和运行基于AIR技术开发的应用程序。用户可以通过这个...
AirPrint无线打印技术当前仅面向Mac开放,并且只能在几款惠普打印机上实现。没有这些AirPrint兼容打印机的可以借助一款名为Printopia的Mac程序激活AirPrint功能,那么Windows用户呢?想在PC上启用AirPrint的Windows...