Mega Code Archive

 
Categories / Flash ActionScript / Development
 

Print the text over many pages

package {     import flash.display.Sprite;     import flash.text.TextField;     import flash.text.TextFieldAutoSize;     import flash.net.URLLoader;     import flash.net.URLRequest;     import flash.events.Event;     import flash.printing.PrintJob;          import flash.geom.Rectangle;          public class Printing extends Sprite {                    private var _printableContent:Sprite = new Sprite();              private var _textField:TextField = new TextField();              private var _loader:URLLoader = new URLLoader();                    public function Printing() {                  _loader.load(new URLRequest("http://www.rntsoft.com/m.txt"));                  _loader.addEventListener(Event.COMPLETE, completeHandler);                        _textField.width = 400;                  _textField.multiline = true;                  _textField.wordWrap = true;                  _textField.autoSize = TextFieldAutoSize.LEFT;                        addChild(_printableContent);                  _printableContent.addChild(_textField);              }                    private function completeHandler(event:Event):void {                  _textField.text = _loader.data;                  var printJob:PrintJob = new PrintJob();                  if(printJob.start()) {                      var pages:Number = Math.ceil(_textField.height /  printJob.pageHeight);                            _textField.width = printJob.pageWidth;                            for(var i:Number = 0; i < pages; i++) {                          printJob.addPage(_printableContent, new Rectangle(0, i *  printJob.pageHeight, printJob.pageWidth, printJob.pageHeight));                      }                      printJob.send();                      _textField.width = 400;                  }              }          }      }