Définition de la taille, de l'échelle et de l'orientation

La section Impression d'une page décrit en détails les étapes d'une tâche d'impression de base, dans laquelle la sortie reproduit directement le sprite spécifié, selon sa taille d'affichage et sa position à l'écran. Néanmoins, les imprimantes utilisent différentes résolutions d'impression et certains de leurs paramètres peuvent altérer l'aspect du sprite imprimé.

Si Flash Player peut lire les paramètres d'impression d'un système d'exploitation, notez que ces propriétés sont en lecture seule : vous pouvez vous adapter à leur valeur, mais pas les modifier. Par exemple, il est possible de déterminer le paramètre de format de page de l'imprimante et d'ajuster votre contenu en fonction. Vous pouvez de même identifier les paramètres de marge de l'imprimante ainsi que l'orientation des pages. Pour répondre aux paramètres de l'imprimante, il peut s'avérer nécessaire de spécifier une zone d'impression, d'effectuer un ajustement pour tenir compte de la différence entre la résolution de l'écran et la mesure de points de l'imprimante, ou de faire correspondre le contenu aux paramètres de taille et d'orientation de l'imprimante.

Sous-rubriques

Définition de la zone d'impression à l'aide de rectangle
Comparaison entre les points et les pixels
Redimensionnement
Impression en mode paysage ou portrait
Ajustement de la hauteur et de la largeur au format du papier

Définition de la zone d'impression à l'aide de rectangle

La méthode PrintJob.addPage() vous permet de spécifier la partie du sprite que vous souhaitez imprimer. Le deuxième paramètre, printArea prend la forme d'un objet Rectangle. Vous pouvez fournir la valeur de ce paramètre de trois manières :

REMARQUE

 

Si vous envisagez de spécifier un rectangle pour définir les dimensions d'impression, rappelez-vous d'importer la classe flash.display.Rectangle.

Comparaison entre les points et les pixels

La largeur et la hauteur d'un rectangle correspondent à des valeurs en pixels. Une imprimante utilise le point comme unité de mesure. Les points ont une taille physique fixe (1/72e de pouce), mais la taille d'un pixel à l'écran varie selon la résolution de ce dernier. De ce fait, le taux de conversion entre les pixels et les points dépend de la configuration de l'imprimante et du redimensionnement éventuel du sprite. Un sprite non redimensionné d'une largeur de 72 pixels mesure un pouce de large lorsqu'il est imprimé, un point correspondant à un pixel, quelle que soit la résolution de l'écran.

Vous pouvez utiliser les équivalences suivantes pour convertir les pouces ou les centimètres en twips ou points (un twip correspond à 1/20e de point) :

Si vous omettez le paramètre printArea ou s'il est transmis de façon incorrecte, la zone entière du sprite est imprimée.

Redimensionnement

Si vous souhaitez redimensionner un objet Sprite avant de l'imprimer, définissez les propriétés de redimensionnement (voir Redimensionnement et mise à l'échelle des objets) avant d'appeler la méthode PrintJob.addPage(), puis rétablissez leurs valeurs d'origine après l'impression. L'échelle d'un objet Sprite ne dépend pas de la propriété printArea. En d'autres termes, si vous spécifiez une zone d'impression de 50 pixels par 50 pixels, 2 500 pixels sont imprimés. Si vous redimensionnez l'objet Sprite, les 2 500 pixels sont imprimés, mais l'objet est imprimé à l'échelle retenue.

Pour un exemple, voir Exemple : Redimensionnement, recadrage et ajustement.

Impression en mode paysage ou portrait

Flash Player étant capable de détecter les paramètres d'orientation, vous pouvez insérer dans votre code ActionScript une logique permettant d'ajuster la taille du contenu ou son orientation en fonction des paramètres de l'imprimante, comme illustré dans l'exemple ci-après.

if (myPrintJob.orientation == PrintJobOrientation.LANDSCAPE)
{
    mySprite.rotation = 90;
}

REMARQUE

 

Si vous prévoyez de lire le paramètre système d'orientation du contenu sur le papier, rappelez-vous d'importer la classe PrintJobOrientation de la manière suivante :

import flash.printing.PrintJobOrientation;

La classe PrintJobOrientation fournit des valeurs constantes qui définissent l'orientation du contenu sur la page.

Ajustement de la hauteur et de la largeur au format du papier

Par l'utilisation d'une stratégie semblable à la gestion des paramètres d'orientation de l'imprimante, vous pouvez lire les paramètres de hauteur et de largeur de page, puis en tenir compte en intégrant une logique dans une instruction if. Le code suivant illustre cette situation :

if (mySprite.height > myPrintJob.pageHeight)
{
    mySprite.scaleY = .75;
}

En outre, il est possible de déterminer les paramètres de marge d'une page par comparaison des dimensions de cette page à celle du papier, comme illustré ci-après :

margin_height = (myPrintJob.paperHeight - myPrintJob.pageHeight) / 2;
margin_width = (myPrintJob.paperWidth - myPrintJob.pageWidth) / 2;

Flash CS3

 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000334.html