2016-04-06 2 views
-1

Ich möchte nur wissen, dass das Drucken Problem mit Aktionsskript 3 in Flash-Web.AS3 Flash printJob Drucken leere Seite

Ich habe zwei Videoclips, von denen einer ein Bitmap-Bild hat, der andere wird für Papiergröße verwendet.

Ich versuche, diese Arbeit zu drucken, aber ich habe immer leeres Papier. Was ist falsch in meinem Code?

var printJob:PrintJob = new PrintJob(); 

//stage.stageWidth = 2481; 
//stage.stageHeight = 3508; 

mc.width = 980; // mc is a paper 
mc.height = 700; 

mc.x = mc.y = 0; 

mc.addChild(content_mc); 
content_mc.x = 10; // content_mc is a movie clip has a bitmap 
content_mc.y = 10; 

addChild(content_mc); 

if (printJob.start()) { 

    if (mc.width>printJob.pageWidth) { 
     mc.width=printJob.pageWidth; 
     mc.scaleY=mc.scaleX; 
    } 

    var rect1:Rectangle = new Rectangle(0, 0, 980, 700); 

    printJob.addPage(mc,rect1); 
    printJob.send(); 
} 

Antwort

2

Das ist zu leicht zu erkennen:

mc.addChild(content_mc); 
addChild(content_mc); 

Vielleicht haben Sie getan dies absichtlich denken, dass Sie eine Display an verschiedenen Orten zur gleichen Zeit hinzufügen können. Nun, nein, Sie können nicht, ein DisplayObject kann nur zu einer einzigen Liste an einem Punkt gehören. Sie können es zu so vielen Display-Listen hinzufügen, wie Sie möchten. Das letzte addChild ist das, auf das es ankommt. In diesem Fall fügen Sie den Inhalt dem mc hinzu, entfernen ihn jedoch sofort, indem Sie ihn zu einer anderen Anzeigeliste hinzufügen.

Was Sie brauchen, ist es zu mc hinzufügen, dann drucken, dann fügen Sie es zurück, wo es sein sollte. Was Sie tun, ist es zu mc hinzufügen, fügen Sie es zurück, wo es sein soll, dann drucken Sie es natürlich ist es leer.

mc.addChild(content_mc); 
content_mc.x = 10; 
content_mc.y = 10; 
if (printJob.start()) 
{ 
    if (mc.width>printJob.pageWidth) 
    { 
     mc.width=printJob.pageWidth; 
     mc.scaleY=mc.scaleX; 
    } 
    var rect1:Rectangle = new Rectangle(0, 0, 980, 700); 
    printJob.addPage(mc,rect1); 
    printJob.send(); 
} 
addChild(content_mc); 
+0

Das ist großer Job :) Vielen Dank – Richard