`
sty2008boy
  • 浏览: 296118 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

FLASh中的打印控制

 
阅读更多

这个估计很多人没有关心过。但是很有用。我贴上来吧。

Flash中负责打印的类是 PrintJob

首先了解它一下

属性:
orientation:String [只读] 图像的打印方向。图像的打印方向。此属性可以为 "landscape" 或 "portrait"。请注意,只有在调用 PrintJob.start() 方法后,此属性才可用。

pageHeight:Number [只读] 页面上实际可打印区域的高度(以磅为单位)。
pageWidth:Number [只读] 页面上实际可打印区域的宽度(以磅为单位)。
paperHeight:Number [只读] 纸张总高度(以磅为单位)。
paperWidth:Number [只读] 纸张总宽度(以磅为单位)。
法:
addPage(target:Object, [printArea:Object], [options:Object], [frameNum:Number]) : Boolean
target:Object - 一个数字或字符串;要打印的影片剪辑的级别或实例名称。传递一个数字来指定级别(例如,0 表示 _root 影片)或传递一个字符串(括在引号中 [""])来指定影片剪辑的实例名称。

printArea:Object [可选] - 一个对象,它指定要打印的区域,采用以下格式: 


程序代码
{xMin:topLeft, xMax:topRight, yMin:bottomLeft, yMax:bottomRight}


为 printArea 指定的坐标表示屏幕像素,这些屏幕像素相对于 _root 影片剪辑(如果 target = 0)的注册点或由 target 指定的级别或影片剪辑的注册点。您必须提供所有四个坐标。宽度 (xMax-xMin) 和高度 (yMax-yMin) 必须均大于 0。  

磅是打印度量单位,像素是屏幕度量单位;磅的实际大小是固定的(1/72 英寸),但是像素的大小取决于特定屏幕的分辨率。您可以使用以下换算公式将英寸或厘米转换为缇或磅(1 缇为 1/20 磅): 

1 磅 = 1/72 英寸 = 20 缇 
1 英寸 = 72 磅 = 1440 缇 
1 厘米 = 567 缇 
您无法可靠地在像素和磅之间转换;转换比率取决于屏幕及其分辨率。例如,如果屏幕设置为每英寸显示 72 个像素,则一磅等于一个像素。 

注意:如果以前曾使用 print()、printAsBitmap()、printAsBitmapNum() 或 printNum() 从 Flash 进行打印,则可能使用过 #b 帧标签来指定要打印的区域。当使用 addPage() 方法时,您必须使用 printArea 参数来指定打印区域;#b 帧标签将被忽略。

如果省略了 printArea 参数或错误地传递了该参数,则将打印 target 的整个舞台区域。如果您不希望指定 printArea 的值,但希望指定 options 或 frameNumber 的值,请为 printArea 传递 null。

options:Object [可选] - 一个参数,它指定打印为矢量还是打印为位图,采用以下格式: 

{printAsBitmap:Boolean}

默认值为 false,表示请求矢量打印。若要将 target 打印为位图,请为 printAsBitmap 传递 true。当确定要使用的值时,请记住以下建议:

如果要打印的内容包括位图图像,请使用 {printAsBitmap:true} 以包括任何透明度和色彩效果。 
如果内容不包括位图图像,请省略此参数或者使用 {printAsBitmap:false} 以较高品质的矢量格式打印内容。 
如果省略或错误传递了 options,则使用矢量打印。如果您不希望指定 options 的值,但希望指定 frameNumber 的值,请为 options 传递 null。

frameNum:Number [可选] - 一个数字,用于指定要打印的帧;传递 frameNumber 不会导致调用该帧上的 ActionScript。如果省略此参数,则打印 target 中的当前帧。 

注意:如果以前曾使用 print()、printAsBitmap()、printAsBitmapNum() 或 printNum() 从 Flash 进行打印,则可能在多个帧上使用过 #p 帧标签以指定要打印哪些页。若要使用 PrintJob.addPage() 打印多个帧,必须对每个帧发出 PrintJob.addPage() 命令;#p 帧标签将被忽略。有关以编程方式执行此操作的方法,请参见"示例"部分。 

返回
Boolean - 一个布尔值:如果页成功发送到打印后台处理程序,则返回 true;否则返回 false。


send() : Void
用在 PrintJob.start() 和 PrintJob.addPage() 方法之后,将经过后台处理的页发送到打印机。
start() : Boolean
显示操作系统的打印对话框并开始进行后台处理

PrintJob 构造函数

var my_pj:PrintJob = new PrintJob();


范例1:
--------------------------打印一个影片剪辑.----------------------
复制内容到剪贴板代码:
//pt2_mc 为影片剪辑名称
var my_pj:PrintJob = new PrintJob();
var myResult:Boolean = my_pj.start();
if (myResult) {
    my_pj.addPage(pt2_mc);
    my_pj.send();
} else {
    trace("没有进行打印或打印失败");
}
delete my_pj;
范例2:
------------------------------多页打印---------------------------
复制内容到剪贴板代码:
//pt2_mc 为影片剪辑名称
//打印结果为三页
var my_pj:PrintJob = new PrintJob(); //构造函数
if (my_pj.start()) {
    var pagesToPrint:Number = 0;
    if (my_pj.addPage(pt2_mc)) {
        pagesToPrint++;
    }
    if (my_pj.addPage(pt_mc)) {
        pagesToPrint++;
    }
    if (my_pj.addPage(pt_mc)) {
        pagesToPrint++;
    }
    if (pagesToPrint>0) {
        my_pj.send();
    }
}
delete my_pj;

分享到:
评论

相关推荐

    使用JLink的RTT打印工具,比官方的多增加了一些时间戳等功能,以及颜色控制,可以代替官方的打印工具,这样可以节省串口线

    使用JLink的RTT打印工具,比官方的多增加了一些时间戳等功能,以及颜色控制,可以代替官方的打印工具,这样可以节省串口线。

    flash shiti

    5.Flash中如何选取场景中所有层中的所有对象? A. 按住 Shift 键的同时进行新的选取 B. 选择 Edit > Select All C. 选择 Edit > Select All D. 在时间轴上点击帧 6.Flash查看(View)菜单中,Work Area表示? ...

    flash_cs5简体中文帮助教程

    40 打印 Flash 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

    STM32单片机(STM32F429BI)读写W25Q64串行Flash软件例程源码.zip

    上电后,打印例程版本信息和操作提示信息, 显示检测到的芯片ID。 用户可以通过PC机串口终端软件发送命令字符来控制程序运行。本程序支持如下命令: 【1 - 读串行Flash, 地址:0x0,长度:4096字节】 【2 - 写串行...

    FlexPaper_1.4.7_flash.zip

    以flexpaper显示swf文件,FlexPaper_1.4.7_flash.zip可以控制是否打印

    珊瑚青苹果Flash播放软件 V2.1

    可以轻松搜索本地Flash和网络缓存中的Flash文件,可当做Flash下载器使用。 3. 拥有播放引导页面,可以更方便的播放Flash影片。 4. 支持跳帧和快进功能。 5. 拥有方便的播放控制面板和音量控制面板。 6....

    珊瑚青苹果Flash播放软件 V2.1.rar

    可以轻松搜索本地Flash和网络缓存中的Flash文件,可当做Flash下载器使用。 3. 拥有播放引导页面,可以更方便的播放Flash影片。 4. 支持跳帧和快进功能。 5. 拥有方便的播放控制面板和音量控制面板。 6....

    flash_cs5_help.pdf

    第 1 章: Adobe Flash Professional CS5 中的新增功能 新增功能..... . . . . . . . . . . . . 1 第 2 章: 工作区 Flash 工作流程和工作区.... 4 使用舞台和工具面板..... . . 11 时间轴.....15 使用 Flash 创作面板...

    极速闪电 (SpeedFlash)

    这是一款优秀的Flash动画播放器,可以搜索您的计算机硬盘中和网络上的所有的Flash文件(*.swf),可以连续播放所有Flash文件,可以指定播放其中之一,可以一帧一帧地播放,可以导出、保存、打印您喜欢的任一帧图片.该Flash...

    Handheld_NEW200_PLPLL_world_测试qspiflash_

    通过zynq得PL端控制了一个小灯,输入时钟40M,通过PS端 串口打印hello world

    ActionScript开发人员指南中文版

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

    [原创]STM32源码项目,原理图SCH,PCB文件,CAN UART SPI-Flash 电源 四状态输入检测单元

    因没完全调试,源代码工程有部分多余代码,工程文件需要重新整理一下,当然如果板子有用,其实可以完全根据原理自己建工程,压缩包内有完整SCH,PCB,包括电源5V,3.3V,RS232,RS485,CAN,SPI-Flash,USB,IO电路。...

    Visual C# 2005编程技巧大全源代码(第四部分)

    程序控制和管理(二) 5、如何控制光驱 6、如何打印文字和图象 7、如何控制SQL Server 服务 8、如何使计算机扬声器发出声音 9、判断当前用户是否是帐户操作员 10、判断当前用户是否是备份操作员 ...17、如何播放Flash动画

    Delphi开发技巧之-object

    在Delphi中播放 Flash 在Excel内查看TDataSet 备份Outlook附件 将Word文档保存为Rtf 打印 预览MS Access报表 找回Outlook文件夹列表 替换word文档中的文本 检查 Word, Excel, Access, Outlook, Powerpoint 是否运行 ...

    ASP.NET开发实战1200例(第Ⅰ卷)第十二章

    实例310 利用javaScript控制Flash播放和停止 488 12.4 应用JavaScript实现Web打印 功能 490 实例311 调用IE自身打印功能实现打印 490 实例312 用WebBrowser组件的execWB方法 进行打印 491 实例313 利用JavaScript...

    北洋U80驱动

    FLASH位图下载下载缓冲区大小:512K 直接位图打印支持位图模式,可实现快速图形打印 介质介质类型连续纸、标记纸 介质宽度57.5/69.5/76/80/82.5mm 介质厚度0.06~0.08mm 纸卷外径(MAX.)Max.ф83 mm 钱箱钱箱...

    citrix 中文管理操作手册

    控制 XenApp 中的客户端连接 106 XenApp 策略 106 应用程序发布 106 终端服务配置 106 Active Directory 106 阻止特定客户端连接类型 107 配置连接访问控制 107 指定连接限制 107 限制与服务器场的连接 108 限制与...

    STM32单片机读写DS18B20温度传感器例程软件例程源码.zip

    启动文件配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。 系统时钟缺省配置为72MHz,如果需要更改,可以修改: \Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c ...

    POSDLL_API

    POSDLL 动态库的出口函数是用来直接控制 POS 打印机工作的,分为四个部分:通用函数、标准模式打印函数、页模式打印函数、调试等函数。 1.通用函数 这一部分函数同时支持打印机的三种打印模式(标准模式,页模式,...

    laravel5-CRUD:这是一个简单的 Laravel 5 CRUD 项目,带有表单验证和操作后的 flash 消息打印。 安装

    Laravel 试图通过简化大多数 Web 项目中使用的常见任务(例如身份验证、路由、会话、排队和缓存)来减轻开发过程中的痛苦。 Laravel 易于访问,但功能强大,为大型、健壮的应用程序提供了强大的工具。 出色的控制...

Global site tag (gtag.js) - Google Analytics