在适合图像到页面的情况下,在没有对话的情

时间:2014-05-13 19:18:15

标签: actionscript-3 flex printing air

我想从网络摄像头打印图像而不显示打印机对话框,图像应该适合页面。 (使用AIR和Flex)

有两种选择: 使用 FlexPrintJob

var printjob:FlexPrintJob = new FlexPrintJob();
printjob.start();
printjob.addObject(image as IUIComponent,FlexPrintJobScaleType.SHOW_ALL);
printjob.send();

但是:这将显示打印机对话框。

使用 PrintJob

var printjob:PrintJob = new PrintJob();
printjob.start2();
printjob.addPage(imageSprite);
printjob.send();

但是:这不会缩放图像以适应页面。

任何想法如何实现两者?

目前我认为只能使用PrintJob并缩放图像以适合我自己的页面。

1 个答案:

答案 0 :(得分:0)

我希望这会有所帮助。

var printjob:PrintJob = new PrintJob();
if(printjob.start()){
  var scale:Number;
  myScale=Math.min(printjob.pageWidth/imageSprite.width,printjob.pageHeight/imageSprite.height);
  imageSprite.scaleX = imageSprite.scaleY = myScale;
  var printArea:Rectangle = new Rectangle(0, 0, printjob.pageWidth/myScale, printjob.pageHeight/myScale);
}else{
//-- user cancelled or error occured.
}
printjob.addPage(imageSprite, printArea);
printjob.send();