Forums Développement Multimédia

Aller au contenu

Centrer son impression avec PrintJob

PrintJob Centrer une impression AS3 CODE Actionscript

  • Vous ne pouvez pas répondre à ce sujet
Aucune réponse à ce sujet

#1 rprevot

    Ceinture Jaune

  • Members
  • PipPip
  • 28 messages

Posté 12 July 2012 - 14:00 PM

Bonjour à tous,

je cherche désespérément comment imprimer un truc centrer avec Printjob, j'ai lu la doc, je récupère bien le paperHeight, paperWidth, page Height, pageWidth, je ne sais pas quoi en faire et a quel moment les passer car ils sont en lecture seule.

J'ai réussi à tout faire créer un bitmap, l'imprimer mais il me place mon truc en 0,0 et j'aimerais juste que mon impression se centre, et j'ai testé pas mal de truc et rien ne marche. Je sais que je dois passer des paramètres au addPage() avec la zone d'impression par exemple.

J'aurais juste besoin d'un coup de main la dessus.

Voici le résultat en PDF en PJ.

Voici mon code ( PS : il y a plein de truc qui servent pas, c'est de la mise en forme pour que le mec ai un aperçu de ce qu'il imprime).


public function Print():void
  {
   var zone:Sprite = new Sprite;
   var shadowBox:Sprite = new Sprite;
   var matrix:Matrix = new Matrix();
   var position:Matrix = new Matrix();
   var scale:Number = 0.65;
   var bitmap:BitmapData = new BitmapData(1024, 768);
   var tacheImpression:PrintJob = new PrintJob();
   var options:PrintJobOptions = new PrintJobOptions();
   var colorTransform:ColorTransform = shadowBox.transform.colorTransform;
 
   bitmap.draw(_mainSprite, position);
   matrix.scale(scale, scale);
 
   zone.graphics.beginBitmapFill(bitmap, matrix, true, true);
   zone.graphics.drawRect(0, 0, 1024 * scale, 768 * scale);
   zone.x = _mainSprite.width / 2 - zone.width/2;
   zone.y = _mainSprite.height / 2 - zone.height/2;
   zone.graphics.endFill();
 
   shadowBox.alpha = 0.6;
   shadowBox.graphics.beginFill(0x000000);
   shadowBox.graphics.drawRect(0, 0, 1024, 768);
   colorTransform.color = 0x000000;
   shadowBox.transform.colorTransform = colorTransform;
   shadowBox.graphics.endFill();
 
   _mainSprite.addChild(shadowBox);
   _mainSprite.addChild(zone);
 
   options.printAsBitmap = true;
   if (tacheImpression.start())
   {
        if (tacheImpression.orientation == "landscape")
        {
       
         tacheImpression.addPage(zone, null, options);
         tacheImpression.send();
        }
        else
        {
         zone.rotation = 90;
         tacheImpression.addPage(zone, null, options);
         tacheImpression.send();
        }
 
   }
 
   else
   {
        _mainSprite.removeChild(zone);
        _mainSprite.removeChild(shadowBox);
   }
  }
 




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)