我想从网络摄像头打印图像而不显示打印机对话框,图像应该适合页面。 (使用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并缩放图像以适合我自己的页面。
答案 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();