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)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP