接上篇,同样的项目,又涉及打印,总结后也一并发出来吧,看到很多人在求无弹出框的打印方式,好不容易找到某位老手写的Simple,自己改改就用上了,效果还不错。

直接上代码,老样子,没有包名。

package 
{ 
    import flash.printing.*; 
    import flash.display.Sprite; 
    import flash.text.TextField; 
    import flash.display.Stage; 
    import flash.geom.Rectangle; 
	
    public class PrintInfo extends Sprite 
    { 
        //private var bg:Sprite; 
        private var text:TextField; 
 
        public function PrintInfo(printInfo:String):void 
        { 
            init(printInfo);
        } 
         
        public function print():void 
        { 
			this.width=1024;
			this.height=200;
            var pj:PrintJob = new PrintJob();
			var options:PrintJobOptions = new PrintJobOptions();
			//options.printAsBitmap = true;
			//pj.printer = "POS-58"
			pj.orientation = PrintJobOrientation.PORTRAIT;
			var uiOpt:PrintUIOptions = new PrintUIOptions();
			try
			{
				if (pj.start2(uiOpt,false))
				{
					pj.addPage(this, null, options);
				}
			}
			catch (e:Error) 
            { 
					//do nothing
            } 
			pj.send(); 
			
            /*if (pj.start2()) 
            {
                try 
                { 
                    pj.addPage(this,new Rectangle(0,0,300,300)); 
                } 
                catch (e:Error) 
                { 
					//do nothing
                } 
                pj.send(); 
            }*/
        } 
         
        private function init(printInfo:String):void 
        {
            text = new TextField();
            text.text = printInfo;
			addChild(text);
        }
    } 
}

PS:这里也要附带说一下,小子在测试的时候身边是没有打印机的,刚好装了OneNote,发现可以打印到OneNote上面去,这个不错,大家如果有类似问题,可以装个OneNote试试,当然,有打印机的情况下就没必要那么麻烦了。