·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]PrintJob 类来创建显示内容的快照以转换为打印输出

时间:2015-11-19 12:10酷播
在 ActionScript 3.0 中,可以使用 PrintJob 类来创建显示内容的快照以转换为打印输出中的墨水和纸张表示形式

在 ActionScript 3.0 中,可以使用 PrintJob 类来创建显示内容的快照以转换为打印输出中的墨水和纸张表示形式。在某些方面,设置要打印的内容与设置在屏幕上显示的内容是相同的;即可以放置元素和调整其大小以创建所需的布局。但是,打印具有某些特性,而使其不同于屏幕布局。例如,打印机使用的分辨率不同于计算机显示器;计算机屏幕的内容是动态的并且可能会发生变化,而打印的内容本身静态的;在准备进行打印时,您需要考虑固定纸

张大小的限制以及多页打印的可能性。

即使这些差异看起来是显而易见的,但在使用 ActionScript 设置打印时一定要记住这些不同之处。由于精确打印取决于您指定的值和用户打印机特性的组合,因此,您可以使用PrintJob 类中包含的属性来确定需要考虑的重要用户打印机特性。

常见打印任务

本章介绍了以下常见的打印任务:

■ 启动打印作业

■ 在打印作业中添加页面

■ 确定用户是否取消了打印作业

■ 指定是使用位图还是矢量呈现

■ 设置页面大小、缩放和方向

■ 指定可打印的内容区域

■ 将屏幕大小转换为页面大小

■ 打印多页打印作业

重要概念和术语

以下参考列表包含将会在本章中使用的重要术语:

■ 后台处理程序 (Spooler):操作系统或打印机驱动程序软件的一部分,用于在等待打印页

面时跟踪页面,并在打印机可用时将其发送到打印机。

■ 页面方向 (Page orientation):打印的内容相对于纸张的旋转角度:水平(横向)或垂直

(纵向)。

■ 打印作业 (Print job):组成单个打印输出的页面或页面集。

  1. private var pj:PrintJob; 
  2.   private var sp:Sprite; 
  3.   private function onPrint(evt:MouseEvent):void 
  4.   { 
  5.    //打印 
  6.    var _model:MdImageMenu = ContentSwf.LinkContentSwf.theModel as MdImageMenu; 
  7.    var _displayObjectLoader:DisplayObjectLoader = _model.displayObjectLoader; 
  8.    pj = new PrintJob(); 
  9.    if(_model.conType == "img") 
  10.    { 
  11.     var _oldBitMpa:Bitmap = _displayObjectLoader.rawContent as Bitmap; 
  12.     var _newBitmap:Bitmap = new Bitmap(_oldBitMpa.bitmapData); 
  13.     sp = new Sprite(); 
  14.     sp.addChild(_newBitmap); 
  15.       
  16.    } 
  17.    else if(_model.conType == "swf") 
  18.    { 
  19.     var _mc:MovieClip = _displayObjectLoader.rawContent as MovieClip; 
  20.     var _bitmapData:BitmapData = new BitmapData(_mc.width, _mc.height); 
  21.     _bitmapData.draw(_mc); 
  22.     var _newBitMap:Bitmap = new Bitmap(_bitmapData); 
  23.     sp = new Sprite(); 
  24.     sp.addChild(_newBitMap); 
  25.    } 
  26.    else 
  27.    { 
  28.     return; 
  29.    } 
  30.      
  31.    if(pj.start()) 
  32.    { 
  33.     switch(pj.orientation) 
  34.     { 
  35.      case PrintJobOrientation.LANDSCAPE:////cuplayer.com提示水平 
  36.       spsp.height = sp.height; 
  37.       spsp.width = sp.height*(5/3); 
  38.       break; 
  39.      case PrintJobOrientation.PORTRAIT:////cuplayer.com垂直 
  40.       sp.width = pj.pageWidth; 
  41.       spsp.height = sp.width*(3/5); 
  42.       break; 
  43.     } 
  44.     try 
  45.     { 
  46.      pj.addPage(sp); 
  47.     } 
  48.     catch(error:Error) 
  49.     { 
  50.      //cuplayer.com提示:错误 
  51.      return; 
  52.     } 
  53.     pj.send(); 
  54.    } 
  55.   } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器