`
kingsz1
  • 浏览: 154905 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在 AIR 生成PDF和显示

阅读更多
1. 下载 AlivePDF
   http://code.google.com/p/alivepdf/downloads/list

2. 解压 “AlivePDF 0.1.4.9.zip”, 把 "AlivePDF.swc" 复制到 project 的 /libs 目录内



3. 生成 PDF 并在浏览器显示

  <mx:Script>
    <![CDATA[
      import flash.filesystem.File;
      
      import org.alivepdf.pdf.PDF;  
      import org.alivepdf.saving.Method;   
      import org.alivepdf.fonts.*;   
      import org.alivepdf.pages.Page;   
      import org.alivepdf.display.Display;   
      import org.alivepdf.layout.*; 

      private var mypdf:PDF;  
      private var myfile:File; 
      
      import flash.net.navigateToURL;
      
      import mx.utils.UIDUtil;

      
      //create a pdf file
      private function unitsPrintToPDF():void  
      { 
        var mypdf:PDF = new PDF( Orientation.PORTRAIT, Unit.MM, Size.A4 ); 
        mypdf.setDisplayMode( Display.FULL_PAGE, Layout.SINGLE_PAGE );
        var newPage:Page = new Page ( Orientation.PORTRAIT, Unit.MM, Size.A4 );

        mypdf.addPage(newPage);
        mypdf.setFont(FontFamily.ARIAL , Style.NORMAL, 12);
        mypdf.addText("Hello World: 15,20",15,20);
        
        mypdf.addPage();
        mypdf.addText("This is the 2nd page 第二页 - 5,15",5,15);
        mypdf.drawCircle(25,35,15);
        
        //画线
        mypdf.moveTo ( 75, 35 );
        mypdf.lineTo ( 125, 35 );
        mypdf.moveTo ( 25, 55 );
        mypdf.lineTo ( 185, 55 );        
        mypdf.end();
        
        //以 uuid 为文件名,避免名字重复
        var myuuid:String = UIDUtil.createUID();
        var uupdf:String = myuuid + ".pdf";

        var fs:FileStream = new FileStream();  
        myfile = File.desktopDirectory.resolvePath( uupdf );
        fs.open( myfile, FileMode.WRITE);   
        var bytes:ByteArray = mypdf.save(Method.LOCAL);   
        fs.writeBytes(bytes);   
        fs.close(); 
		
	//在新开的浏览器窗口显示 pdf 
	navigateToURL(new URLRequest(File.desktopDirectory.nativePath +"/"+ uupdf));
      }   
      
      ]]>
  </mx:Script>



当然,你的电脑需要能正常显示PDF文件,即已安装 Adobe Reader 或 FOXIT READER.
  • 大小: 58.2 KB
分享到:
评论
1 楼 rowanh 2010-10-14  
"第二页" 中文无法显示,有什么解决方法吗?

This is the 2nd page ??? - 5,15

相关推荐

    PDF生成例子,AIR

    自动生成PDF. AIR程序运行后,自动在系统桌面建立一个PDF文件!

    ios-PDF文件的生成、显示(已封装).zip

    用的ipadair模拟器,工程要用pdf文件。没找到好的,只好自己写了一个。两个方法,一个生成,保存到本地的,一个从本地获取显示到webview上的。使用的时候绝对简单。

    为 CUPS 打印机自动生成 AirPrint Avahi 服务文件_python_代码_下载

    此脚本将连接到 CUPS 服务器,并且对于配置并标记为共享的每台打印机,将为 avahi 生成一个与 Apple 的 AirPrint 公告兼容的 .service 文件。可以使用任何可以配置为与 CUPS 一起使用的打印机。打印机不应在 CUPS 中...

    Over-the-air_programming.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    airprint-generate:自动为CUPS打印机生成AirPrint Avahi服务文件

    除非打印机可以本地打印PDF,否则不应在CUPS中将打印机配置为原始打印机。 也就是说,CUPS需要已经配置有PDF过滤器。 基于Debian的发行版以这种方式预配置了CUPS。 DNSSD对于给定的txt记录限制为255个字符,因此,...

    ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)ECG4.3.pdf

    支持.Net1.1及以上版本,可用于Oracle、SqlServer、Sybase、DB2、MySQL、Access、SQLite、PostgreSQL、DM(达梦)、PowerDesigner文件、Informix、Firebird、MaxDB、Excel等和OleDb、ODBC连接的数据库并可自定义,详见...

    Elliptic_curve.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    扫描全能王 CamScanner Phone PDF Creator 5.16.0 中文免费版.zip

    打印文档:在“我的文档”页面,通过右上方的“多选”按钮选择或直接进入想要打印的文档,在操作中选择“Airprint”,系统自动生成PDF后,进入打印机选项,选择支持无线打印的打印机,打印页面和分数,开始打印 ...

    ActionScript开发人员指南中文版

    了解FlashPlayer和AIR运行时中的D显示对象 创建和移动D显示对象 将D对象投影到D视图上 示例:透视投影 执行复杂的D转换 通过三角形获得D效果 第章:文本使用基础知识 第章:使用TextField类 显示文本 选择和操作文本 ...

    Cyberattack.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Cipher.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Secure_Hash_Algorithms.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Cryptography.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Key_management.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Message_authentication.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Hash_function.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Memory_protection.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Replay_attack.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Digital_signature.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

    Hardware_security_module.pdf

    OTA Over-The-Air的缩写,即云端升级,通过无线连接进行固件更新 Physical Attack 一种攻击方法,使用了超出规格的设备(例如,电压过高/过低/温度或时钟,强光等)。 Replay Attacks 记录并重播加密消息或图像。在...

Global site tag (gtag.js) - Google Analytics