`
sty2008boy
  • 浏览: 301594 次
  • 性别: 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;

分享到:
评论

相关推荐

    flash xml超炫的电子书3D在线阅读支持打印的电子杂志

    "Flash XML超炫的电子书3D在线阅读支持打印的电子杂志"就是这样一个创新的技术应用,它结合了先进的3D视觉效果与电子阅读功能,为用户提供了一种全新的阅读体验。 标题中的“Flash XML”是指这款电子书系统基于...

    flash中矢量图形有什么特征_flash8.0视频教程

    在《Flash 8.0 视频教程》中,可能涵盖了如何绘制和编辑矢量图形,如何利用工具箱和面板来控制图形属性,以及如何将矢量图形应用于动画制作的技巧。通过观看这个教程,学习者可以深入了解Flash矢量图形的精髓,提升...

    spifi-flash.rar

    SPI Flash是一种常见的非易失性存储器,用于存储微控制器(MCU)系统中的固件、配置数据或其他程序。在嵌入式系统中,SPI Flash因其体积小、功耗低和接口简单而广泛使用。 标签“spifi-flash”进一步确认了这是关于...

    flexpaper打印以及去除打印

    它允许用户在不离开浏览器的情况下,直接从SWF(ShockWave Flash)文件中打印文档。SWF是一种常用的富媒体格式,常用于在网络上传输动态内容,如动画和交互式应用程序。在FlexPaper中,SWF文件包含了对文档的渲染和...

    flash 闪存 读写时序 C 语言例子

    在 Stellaris 系列微控制器中,Flash 的容量范围广泛,从 8KB 到 256KB 不等,甚至更高。本文将详细介绍 Flash 的主要功能、架构特点以及如何通过 C 语言实现对 Flash 的读写操作。 **1.1 Flash 功能概述** Flash ...

    print2flashsdk

    这个SDK(软件开发工具包)提供了丰富的功能,使开发者能够集成打印到Flash的功能到他们的应用程序中。以下是关于Print2FlashSDK的一些关键知识点: 1. **转换技术**:Print2FlashSDK的核心功能是将文档的打印数据...

    基于嵌入式Linux的打印控制系统的设计.pdf

    【嵌入式Linux打印控制系统设计】本文探讨了一种基于嵌入式Linux的打印控制系统,该系统利用先进的ARM嵌入式技术,使得打印机可以摆脱对计算机的依赖,形成一个独立的打印解决方案。系统集成了预览、编辑、控制和...

    FLASH AIR触控手势开发实例

    FLASH AIR中可以通过GestureEvent.GESTURE_TWO_FINGER_TAP事件来监听这个动作,并通过相应的事件处理函数twoFingerTapHandler执行动作,比如打印“双指”并更新界面上的显示信息。 5. 缩放手势(Zoom):缩放手势让...

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

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

    Delphi Cef3 谷歌浏览器内核控件 2623版本 完美支持XP系统、FLASH、PDF打印等

    此外,它还包含了对Flash内容的播放支持以及PDF文件的打印功能。 首先,让我们详细了解一下CEF(Chromium Embedded Framework)。CEF是一个开源框架,它使得开发人员能够将Chromium浏览器引擎嵌入到各种应用程序中...

    print2Flash打印机

    首先,用户需要安装Print2Flash软件,然后在Word文档中选择“打印”选项,将打印机设置为Print2Flash虚拟打印机,最后确认打印,软件会自动处理文档并生成SWF文件。生成的SWF文件不仅保留了原文档的文本、图片和排版...

    JS调用打印机打印例子

    例如,Adobe Flash曾提供了一种通过Flash打印的方法,但随着Flash的淘汰,这种方案已不再推荐。现代浏览器更多地依赖HTML5和Web APIs,如Web Print API(非标准),或者通过Web Workers和Service Workers与本地系统...

    Flex实践——Datagrid的打印预览与打印

    总的来说,实现Flex中的Datagrid打印预览与打印涉及多个技术层面,包括数据可视化、图像处理和打印控制。这个过程需要对Flex框架有深入理解,并且熟悉ActionScript 3.0的编程。通过以上步骤,我们可以为用户提供直观...

    DE2_115_FLASH

    Flash存储器是一种非易失性存储技术,常用于固态硬盘、微控制器以及各种嵌入式系统中。它具有快速读取、低功耗和长久保存数据的优点。在DE2-115平台上进行Flash的读写实验,通常涉及到以下知识点: 1. **FPGA基础**...

    SPI-FLASH实验.rar_SPI-FLASH实验_byrts_spi_spi flash_spi flash

    在嵌入式系统中,SPI-FLASH通常被用作非易失性存储器,用于存储程序代码、配置数据或其他重要信息。本实验旨在帮助学习者掌握如何通过SPI协议与SPI-FLASH设备进行通信,并了解相关硬件连接和软件编程的细节。 SPI...

    dsp2812外部 FLASH 读写实验

    在DSP2812系统中,常见的外部Flash型号有SPI、I2C或并行接口的Flash器件。它们提供快速的数据存取速度,并且支持多次擦写操作。 **3. 实验硬件配置** - DSP2812开发板:集成有DSP2812芯片和其他外围电路。 - 外部...

    打字机效果FLASH源文件

    在给定的"打字机效果FLASH源文件"中,我们可以预见到包含了一些关键知识点: 1. **ActionScript**:Flash中的编程语言,用于实现各种交互和动画效果。打字机效果的实现可能涉及ActionScript的定时器(Timer)类来...

Global site tag (gtag.js) - Google Analytics