`
maloveqiao
  • 浏览: 102694 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

AIR的NativeProcess调用本机程序命令 打印

 
阅读更多
有个功能需求也是自己一直想实现的,就是文档在线分享。这种豆丁网、百度文库已经使用了。网上关于这种实现方式也有几种,最简单的是调用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 调用应用程序 exe bat jar com 修正

    AIR2.0 调用应用程序 修正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应用...

    AIR2.0调用应用程序

    总结来说,AIR 2.0调用应用程序的能力是通过NativeProcess API实现的,它扩展了AIR应用程序的功能边界,使其能更好地融入用户的工作环境。开发者可以利用这一特性为用户提供更丰富的功能,提高应用的实用性和用户...

    合宙4G模组AIR780E的驱动程序

    而 drv_air780e.h 文件则包含了这些函数的声明,定义了函数接口,使得其他源文件可以正确地调用这些驱动程序功能。它可能包含常量定义、结构体定义和函数原型,例如: 1. 常量定义:定义了与模组通信相关的常量,如...

    关于AIR调用C++的DLL

    总结来说,为了实现AIR应用程序调用C++编写的DLL,开发者需要掌握AIR环境下的应用发布和调试,熟悉FluorineFx Aperture Framework的安装和配置,以及具备C++ DLL编写和管理的能力。这些知识点共同构成了 AIR 调用 ...

    flex air 调用C代码

    Flex Air调用C代码是跨平台开发中的一个重要技术,它允许使用ActionScript 3的Flex应用程序与本地系统资源进行交互,比如C/C++编写的动态链接库(DLLs)或共享对象(SOs)。这个技术主要依赖于Adobe AIR的Native ...

    adobe air3.1本机扩展开发的中文开发手手册

    - **从本机扩展标识调用应用程序**:在某些情况下,可能需要从本机扩展内部启动另一个应用程序。 - **本机扩展向后兼容性**:考虑到不同版本Adobe AIR之间的差异,编写本机扩展时应考虑其向后兼容性问题。 #### 三...

    as3调用win系统命令实现

    利用第三方工具实现air对动态链接库的调用

    AirPrint_Installer无线打印 含补丁AirPrint iOS 5 FIX

    AirPrint是由Apple公司开发的一项技术,它允许iPhone、iPad和iPod touch等iOS设备通过无线网络直接打印文档、照片、电子邮件等内容,无需安装任何特殊的驱动程序。AirPrint支持多种文件格式,包括PDF、JPEG、PNG等,...

    AIR用Flex调用java连数据库和一些主要功能的实现

    AIR用Flex调用java连数据库和一些主要功能的实现。。如httpService...webSerivce 的调用等等

    AIR运行exe外调程序

    本主题聚焦于如何利用AIR来运行外部的.exe程序,并进行输入输出交互,以接收并处理输出结果。 首先,理解AIR运行exe程序的基本原理:AIR提供了NativeProcess类,它是用来与操作系统本地进程进行交互的核心工具。...

    Air200T模块AT命令手册V3.21

    《Air200T模块AT命令手册》是上海合宙通信科技有限公司为用户提供的详尽指南,用于理解和操作Air200T模块的AT命令。手册共有200页,内容丰富,旨在帮助用户深入掌握模块的功能和配置。 AT命令是串行通信中的标准...

    用AIR 启动jar文件,启动bat文件,启动exe文件

    AIR可以直接通过ActionScript的NativeProcess类来启动.exe文件,这允许AIR应用程序执行本地系统上的任何可执行程序,传递参数并接收输出。 5. **Bat To Exe Converter.exe**:这个文件名表明它可能是一个工具,用于...

    air执行exe

    ### 关于在Flex的AIR应用程序中执行EXE文件的知识点 #### 一、Flex与Adobe AIR简介 Flex是一个用于构建跨平台的桌面应用程序和移动应用程序的开源框架。它使用MXML(Mark-up Language)和ActionScript语言进行开发...

    airprinter 1.6.6.1 无限制版

    air printer(无线打印照片软件)V1.6.6.1 无限制特别版 如果你有台iPhone手机, 或者苹果iPad平板电脑,那么你可以很方便得利用苹果iOS系统内置AirPrint功能WiFi无线打印照片,Word,PDF等各种文件到你的Air Printer...

    ios Airprint,打印报表

    当设备连接到同一Wi-Fi网络下的AirPrint兼容打印机时,用户可以直接选择打印邮件、照片、网页等内容,无需安装额外的软件或驱动程序。AirPrint支持多种文件格式,如PDF、JPEG等,并且可以调整打印设置,如页边距、...

    air202 mqtt 测试程序

    《Air202 MQTT测试程序详解》 在物联网(IoT)领域,MQTT(Message Queuing Telemetry Transport)协议因其轻量级、低功耗和高可靠性的特性,成为了设备间通信的重要选择。本文将深入探讨Air202 MQTT测试程序,包括...

    最新AIR安装程序免费分享

    标题中的"最新AIR安装程序免费分享"指的是该压缩包中包含的是Adobe AIR的最新版本安装程序,通常这些安装程序会包含所有必要的组件,用于在用户的计算机上安装和运行基于AIR技术开发的应用程序。用户可以通过这个...

    在windows下激活Airprint无线打印 AirPrint+Activator

    AirPrint无线打印技术当前仅面向Mac开放,并且只能在几款惠普打印机上实现。没有这些AirPrint兼容打印机的可以借助一款名为Printopia的Mac程序激活AirPrint功能,那么Windows用户呢?想在PC上启用AirPrint的Windows...

Global site tag (gtag.js) - Google Analytics