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.java2s.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; } } } }
1. | Adding Print Functionality to Applications | ||
2. | Add pages to print job | ||
3. | Print out a text file |