Printing 以编程方式打印SWF

Printing 以编程方式打印SWF,printing,flash,Printing,Flash,单机Flash播放器可选择打印SWF。但是,没有为这个注册shell操作,就我所知,唯一的方法是使用键盘宏(或者做一些侵入性的事情,比如在播放器中插入DLL)。有官方的API吗?找到了!最简单的方法是使用ActionScript API: package { import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.net.UR

单机Flash播放器可选择打印SWF。但是,没有为这个注册shell操作,就我所知,唯一的方法是使用键盘宏(或者做一些侵入性的事情,比如在播放器中插入DLL)。有官方的API吗?

找到了!最简单的方法是使用ActionScript API:

package
{
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.URLRequest;
    import flash.printing.PrintJob;

    public class Printer extends Sprite
    {
        private var loader:Loader;

        public function Printer()
        {
            loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
            loader.load(new URLRequest("content.swf"));
        }

        public function onLoaded(e:Event):void
        {
            var pj:PrintJob = new PrintJob();
            if(pj.start()) {
                var sprite:Sprite = new Sprite();
                sprite.addChild(loader);
                pj.addPage(sprite);
                pj.send();
            }
        }
    }
}