Configuración del tamaño, la escala y la orientación

En la sección Impresión de una página se detallan los pasos de un trabajo de impresión básico, en el que la salida refleja directamente el equivalente impreso del tamaño de pantalla y la posición del objeto Sprite especificado. Sin embargo, las impresoras utilizan resoluciones distintas para imprimir y pueden tener configuraciones que afecten negativamente al aspecto del objeto Sprite impreso.

Flash Player puede leer la configuración de impresión de un sistema operativo, pero hay que tener en cuenta que estas propiedades son de sólo lectura: aunque se puede responder a sus valores, no es posible configurarlos. Así pues, por ejemplo, se puede buscar la configuración de tamaño de página de la impresora y ajustar el contenido a dicho tamaño. También se puede determinar la configuración de márgenes y la orientación de página de una impresora. Para responder a la configuración de la impresora, es posible que sea necesario especificar un área de impresión, ajustar la diferencia entre la resolución de una pantalla y las medidas de puntos de una impresora, o transformar el contenido para ajustarlo a la configuración de tamaño u orientación de la impresora del usuario.

Subtemas

Utilización de rectángulos en el área de impresión
Comparación de puntos y píxeles
Ajuste de escala
Impresión de la orientación horizontal o vertical
Respuesta a la altura y anchura de la página

Utilización de rectángulos en el área de impresión

El método PrintJob.addPage() permite especificar la región de un objeto Sprite que se desea imprimir. El segundo parámetro, printArea tiene la forma de un objeto Rectangle. Hay tres formas posibles de proporcionar un valor para este parámetro:

NOTA

 

Si se ha previsto especificar un rectángulo para las dimensiones de impresión, es necesario importar la clase flash.display.Rectangle.

Comparación de puntos y píxeles

La anchura y la altura de un rectángulo son valores expresados en píxeles. Una impresora utiliza los puntos como unidad de medida de impresión. Los puntos tienen un tamaño físico fijo (1/72 pulgadas), pero el tamaño de un píxel en pantalla depende de la resolución de cada pantalla. Así, la relación de conversión entre píxeles y puntos depende de la configuración de la impresora y del hecho de que el objeto Sprite tenga ajustada la escala. Un objeto Sprite de 72 píxeles de ancho y sin ajuste de escala se imprimirá con una anchura de una pulgada, y cada punto equivaldrá a un píxel, independientemente de la resolución de la pantalla.

Se pueden utilizar las equivalencias siguientes para convertir los valores en pulgadas o centímetros en twips o puntos (un twip es 1/20 de un punto):

Si se omite o pasa de forma incorrecta el parámetro printArea, se imprime el área completa del objeto Sprite.

Ajuste de escala

Si desea redimensionar un objeto Sprite antes de imprimirlo, establezca las propiedades de escala (véase Manipulación del tamaño y ajuste de escala de los objetos) antes de llamar al método PrintJob.addPage() y restablezca los valores originales después de imprimir. La escala de un objeto Sprite no tiene relación con la propiedad printArea. En otras palabras, si se especifica un área de impresión de 50 por 50 píxeles, se imprimen 2500 píxeles. Si se cambia la escala del objeto Sprite, se seguirán imprimiendo 2500 píxeles, pero el objeto Sprite se imprimirá con el tamaño con la escala ajustada.

Para ver un ejemplo, consulte Ejemplo: ajuste de escala, recorte y respuesta.

Impresión de la orientación horizontal o vertical

Dado que Flash Player puede detectar la configuración de la orientación, se puede generar lógica en el código ActionScript para ajustar el tamaño del contenido o la rotación como respuesta a la configuración de la impresora, como se muestra en el siguiente ejemplo:

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

NOTA

 

Si se ha previsto leer la configuración del sistema relativa a la orientación del contenido en el papel, es necesario importar la clase PrintJobOrientation del siguiente modo:

import flash.printing.PrintJobOrientation;

La clase PrintJobOrientation proporciona valores constantes que definen la orientación del contenido en la página.

Respuesta a la altura y anchura de la página

A través de una estrategia similar a la gestión de la configuración de orientación de la impresora, se puede leer la configuración de altura y anchura de la página, y responder a sus valores mediante la incorporación de lógica en una sentencia if. El siguiente código muestra un ejemplo:

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

Además, la configuración de márgenes de una página puede determinarse comparando las dimensiones de la página y del papel, como se muestra en el siguiente ejemplo:

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

Flash CS3

 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000334.html