Проблема с Adobe Air Printjob
Я делаю настольную игру с Adobe Air, которая использует задание на печать для печати игрового билета на pos-принтере. У меня есть две проблемы:1- качество печати билетов очень плохое 2- я не могу распечатать длинный билет, потому что он разрежет билет на принтере на несколько частей, когда билет длинный.
Я использовал эти коды:
import flash.geom.Rectangle;
import flash.printing.PrintJob;
import flash.printing.PrintJobOrientation;
import flash.printing.PaperSize;
import flash.printing.PrintUIOptions;
import flash.printing.PrintMethod;
import flash.printing.PrintJobOptions;
import flash.events.Event;
var pj:PrintJob;
function onPrintClick(event:MouseEvent):void
{
MovieClip(this).visible = true;
var options:PrintJobOptions = new PrintJobOptions();
options.printAsBitmap = true;
options.printMethod = PrintMethod.BITMAP;
options.pixelsPerInch = 300;
pj = new PrintJob();
pj.selectPaperSize(PaperSize.LEGAL);
pj.printer = MovieClip(root).menuScreen.printer;
pj.orientation = PrintJobOrientation.PORTRAIT;
var uiOpt:PrintUIOptions = new PrintUIOptions();
uiOpt.minPage = 1;
uiOpt.maxPage = 1000;
if(pj.start2(uiOpt, false))
{
var myScale:Number=0;
myScale = pj.pageWidth/ticket.width;
ticket.scaleX = ticket.scaleY = myScale;
var realW:Number = pj.pageWidth/myScale;
var realH:Number = pj.pageHeight/myScale;
trace(ticket.width,ticket.height);
trace(pj.pageWidth,pj.pageHeight);
trace(realW,realH);
var scaleDif:Number = realW/ticket.width;
var pageH:Number = realH/scaleDif;
var pagesNum:int = Math.ceil(ticket.height/pageH);
var pageCounter:int=0;
var printArea:Rectangle;
for(var i:int=0;i<pagesNum;i++)
{
printArea = new Rectangle(0, i*realH, realW, realH);
try {
pj.addPage(ticket,printArea,options);
pageCounter++;
MovieClip(root).preloader(false);
MovieClip(root).preloading.tt.text = '';
}
catch(e:Error) {
// do nothing
}
}
if(pageCounter==pagesNum)
{
pj.send();
pj = null;
}
}
ticket.scaleX=1;
ticket.scaleY=1;
MovieClip(this).visible = false;
}
Я надеюсь, что есть способ получить длинный отпечаток без обрезки.