我有一个打印贴纸的应用程序。使用数字步进器,我可以选择必须打印多少贴纸。每页最多有3页。我怎样才能复制带有贴纸的电影?如何使它们具有序列号(例如,5中的1、5中的2、5中的3、5中的4、5中的5)?我现在有一个预先制作的带有3张贴纸的电影,当我选择5张贴纸时,它会打印2页(6张贴纸,如果我打印8张,它会打印3页等等)。
function STRPRNButtonStatus(event:MouseEvent) {
var printJob:PrintJob = new PrintJob();
var pagesToPrint:uint = 0;
var ALL_STR_NUM_print = (ALL_STR_NUM.value/3);
var num1:Number = UNT_NUM.value;
var res1:Number = Math.ceil(num1/3);
var UNT_NUM_print = res1;
if (DLV_NUM_CHK.selected) {
printJob.copies = UNT_NUM_print;
}
else printJob.copies = ALL_STR_NUM_print;
var started:Boolean = printJob.start2(null, false);
if (started) {
}
try {
if (STR_CHK1.selected) {
printJob.addPage(Sticker1);
pagesToPrint++;
}
}
catch (error:Error)
{
}
if(pagesToPrint > 0) {
printJob.send();
}
else
{
printJob.terminate();
}
}
}发布于 2016-03-11 19:41:44
我就你该怎么做做了一个小小的解释。
function STRPRNButtonStatus( event:MouseEvent )
{
/*change it as per your requirements*/
var stickerToPrint:uint = 8;
var stickerPerPage:uint = 3;
var stickerOnPage:uint = 3;
var pageNum:uint = 0;
/*begin a print job*/
var printJob:PrintJob = new PrintJob();
/*test if start*/
if ( printJob.start() )
{
/*get how many page required*/
var totalPageRequired:uint = Math.ceil( stickerToPrint/stickerPerPage);
for( var i:uint =0; i<totalPageRequired;i++)
{
/*calculate how many sticker already printed*/
stickerOnPage = stickerToPrint - (pageNum*3);
/*now check how many need on this page*/
if( stickerOnPage>3)stickerOnPage = 3;
for( var j:uint =stickerOnPage+1; j<=3;j++)
{
//here you hide the sticker, I simply assume that yourmain sticker contain sticker_1, sticker_2 and sticker_3 movieclips
sticker["sticker_"+j].visible = false;
}
printJob.addPage(sticker);
++pageNum;
}
/* Send print job to printer */
if( totalPageRequired > 0 )printJob.send();
/* Delete job from memory */
printJob = null;
}
}https://stackoverflow.com/questions/35947360
复制相似问题