Paquete | flash.printing |
Clase | public class PrintJob |
Herencia | PrintJob EventDispatcher Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Compatibilidad con navegador móvil: esta clase no se admite en navegadores móviles.
Compatibilidad con perfil de AIR: esta característica se admite en todos los sistemas operativos de escritorio, pero no en dispositivos móviles ni dispositivos de AIR para TV. Puede comprobar la compatibilidad en tiempo de ejecución mediante la propiedad PrintJob.isSupported
. Consulte Compatibilidad con perfil de AIR para obtener información sobre la compatibilidad de la API con varios perfiles.
Utilice el constructor PrintJob()
para crear un trabajo de impresión.
Asimismo, con las propiedades de la clase PrintJob, puede leer la configuración de la impresora del usuario (altura y anchura de página y orientación de imagen) y se puede configurar el documento para dar al contenido de Flash, dinámicamente, un formato apropiado para la configuración de la impresora.
Nota: ActionScript 3.0 no restringe un objeto PrintJob a un solo fotograma (como ocurría en versiones anteriores de ActionScript). Sin embargo, como el sistema operativo muestra al usuario información del estado de la impresión después de que el usuario haya hecho clic en el botón Aceptar del cuadro de diálogo de impresión, debe llamar a PrintJob.addPage()
y PrintJob.send()
cuando sea posible para enviar páginas a la cola. Una demora al llegar al fotograma que contiene la llamada a PrintJob.send()
retrasará el proceso de impresión.
Además, se aplica un límite de tiempo de espera de script de 15 segundos a los siguientes intervalos:
-
PrintJob.start()
y el primerPrintJob.addPage()
-
PrintJob.addPage()
y el siguientePrintJob.addPage()
- El último
PrintJob.addPage()
yPrintJob.send()
Si alguno de los intervalos anteriores dura más de 15 segundos, la siguiente llamada a PrintJob.start()
en la instancia PrintJob devolverá false
y el siguiente PrintJob.addPage()
de la instancia PrintJob hará que Flash Player o Adobe AIR emita una excepción de tiempo de ejecución.
Propiedad | Definido por | ||
---|---|---|---|
active : Boolean [estática] [solo lectura]
Indica si un trabajo de impresión está activo actualmente. | PrintJob | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
copies : int
El número de copias que el sistema imprime de las páginas añadidas posteriormente al trabajo de impresión. | PrintJob | ||
firstPage : int [solo lectura]
El número de página de la primera página del rango introducido por el usuario en diálogo Imprimir del sistema operativo. | PrintJob | ||
isColor : Boolean [solo lectura]
Indica si la impresora seleccionada actualmente en la configuración actual de impresión imprime en color (true) o en escala de grises (false). | PrintJob | ||
isSupported : Boolean [estática] [solo lectura]
Indica si se admite la clase PrintJob en la plataforma actual (true) o no (false). | PrintJob | ||
jobName : String
El nombre o el título del trabajo de impresión. | PrintJob | ||
lastPage : int [solo lectura]
El número de página de la última página del rango introducido por el usuario en el diálogo Imprimir del sistema operativo. | PrintJob | ||
maxPixelsPerInch : Number [solo lectura]
La resolución física de la impresora seleccionada, en píxeles por pulgada. | PrintJob | ||
orientation : String
Orientación con que se imprime la página. | PrintJob | ||
pageHeight : int [solo lectura]
La altura del área más grande que puede centrarse en el área real imprimible de la página, en puntos. | PrintJob | ||
pageWidth : int [solo lectura]
La anchura del área más grande que puede centrarse en el área real imprimible de la página, en puntos. | PrintJob | ||
paperArea : Rectangle [solo lectura]
Los límites del medio de la impresora en puntos. | PrintJob | ||
paperHeight : int [solo lectura]
Altura total del papel en puntos. | PrintJob | ||
paperWidth : int [solo lectura]
Anchura total del papel en puntos. | PrintJob | ||
printableArea : Rectangle [solo lectura]
Los límites del área de impresión del medio de la impresora en puntos. | PrintJob | ||
printer : String
Obtiene o define la impresora que se va a utilizar para el trabajo de impresión actual. | PrintJob | ||
printers : Vector.<String> [estática] [solo lectura]
Proporciona una lista de las impresoras disponibles como valores de nombres String. | PrintJob | ||
supportsPageSetupDialog : Boolean [estática] [solo lectura]
Indica si el entorno del motor de ejecución de Flash admite el diálogo Configurar página independiente. | PrintJob |
Método | Definido por | ||
---|---|---|---|
PrintJob()
Crea un objeto PrintJob que se puede utilizar para imprimir una o varias páginas. | PrintJob | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento. | EventDispatcher | ||
addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Envía el objeto Sprite especificado como página individual a la cola de impresión. | PrintJob | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Definir el tamaño de papel. | PrintJob | ||
Envía páginas a la cola de impresión tras realizar llamadas correctamente a los métodos start() o start2() y addPage(). | PrintJob | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Muestra el diálogo Configurar página del sistema operativo si el entorno actual lo admite. | PrintJob | ||
Muestra el cuadro de diálogo Imprimir del sistema operativo e inicia el envío a la cola. | PrintJob | ||
De forma opcional, muestra el cuadro de diálogo Imprimir del sistema operativo, inicia el envío a la cola de impresión y posiblemente modifica los valores de la propiedad de sólo lectura del objeto PrintJob. | PrintJob | ||
Indica que el trabajo de impresión se debe finalizar sin enviar. | PrintJob | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto. | EventDispatcher |
active | propiedad |
active:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Indica si un trabajo de impresión está activo actualmente. Un trabajo de impresión está activo (el valor de la propiedad es true
) en cualquiera de las dos condiciones:
- Se muestra un diálogo Configurar de página o Imprimir.
- Se ha llamado al método
start()
ostart2()
con un valor devueltotrue
, y no se ha llamado al métodosend()
oterminate()
.
Si esta propiedad es true
y se llama al método showPageSetupDialog()
, start()
o start2()
, el motor de ejecución emite una excepción.
Implementación
public static function get active():Boolean
Elementos de API relacionados
copies | propiedad |
copies:int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
El número de copias que el sistema imprime de las páginas añadidas posteriormente al trabajo de impresión. Este valor es el número de copias introducido por el usuario en el diálogo Imprimir del sistema operativo. Si el número de copias no se muestra el diálogo Imprimir o si no se muestra el diálogo al usuario, el valor es 1 (a no ser que lo haya cambiado el código de la aplicación).
Implementación
public function get copies():int
public function set copies(value:int):void
firstPage | propiedad |
firstPage:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
El número de página de la primera página del rango introducido por el usuario en diálogo Imprimir del sistema operativo. Esta propiedad es cero si el usuario solicita que todas las páginas se impriman, o si el rango de páginas no se ha mostrado en diálogo Imprimir, o si el diálogo Imprimir no se ha presentado al usuario.
Implementación
public function get firstPage():int
isColor | propiedad |
isColor:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Indica si la impresora seleccionada actualmente en la configuración actual de impresión imprime en color (true
) o en escala de grises (false
).
Si no se puede determinar un valor de escala de grises o color, el valor es true
.
Implementación
public function get isColor():Boolean
isSupported | propiedad |
jobName | propiedad |
jobName:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
El nombre o el título del trabajo de impresión. El nombre del trabajo lo suele utilizar el sistema operativo como título de el trabajo en la cola de impresión, o como nombre predeterminado de un trabajo que se imprime en un archivo.
Si no ha llamado start()
o start2()
y no ha establecido el valor de la propiedad, el valor de esta propiedad es null
.
Para cada trabajo de impresión que ejecute con una instancia de PrintJob, establezca esta propiedad antes de llamar al método start()
o start2()
.
El valor predeterminado es null
.
Implementación
public function get jobName():String
public function set jobName(value:String):void
Emite
IllegalOperationError — si el código intenta establecer la propiedad con la active es true .
|
lastPage | propiedad |
lastPage:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
El número de página de la última página del rango introducido por el usuario en el diálogo Imprimir del sistema operativo. Esta propiedad es cero si el usuario solicita que todas las páginas se impriman, o si el rango de páginas no se ha mostrado en diálogo Imprimir, o si el diálogo Imprimir no se ha presentado al usuario.
Implementación
public function get lastPage():int
maxPixelsPerInch | propiedad |
maxPixelsPerInch:Number
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
La resolución física de la impresora seleccionada, en píxeles por pulgada. El valor se calcula según la configuración de impresión que notifica el sistema operativo.
Si la resolución no puede determinarse, el valor es un valor estándar predeterminado. El valor predeterminado es 600 ppp en Linux y 360 ppp en Mac OS. En Windows, la resolución de impresora siempre está disponible, por lo que no es necesario ningún valor predeterminado.
Implementación
public function get maxPixelsPerInch():Number
orientation | propiedad |
orientation:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9 - read only, AIR 1.0 - read only, AIR 2 - read-write |
Orientación con que se imprime la página. Los valores aceptables se definen como constantes en la clase PrintJobOrientation.
Nota: para AIR 2 o posterior, establezca esta propiedad antes de iniciar un trabajo de impresión para definir la orientación predeterminada en los diálogos Configurar página e Imprimir. Establezca la propiedad mientras un trabajo de impresión está en curso (después de llamar a start()
o start2()
para definir la orientación de un rango de páginas dentro del trabajo.
Implementación
public function get orientation():String
public function set orientation(value:String):void
Elementos de API relacionados
pageHeight | propiedad |
pageHeight:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9. |
La altura del área más grande que puede centrarse en el área real imprimible de la página, en puntos. Los márgenes establecidos por el usuario no se tienen en cuenta. Esta propiedad sólo está disponible tras realizar una llamada al método PrintJob.start()
.
Nota: para AIR 2 o posterior, esta propiedad está desfasada. Utilice printableArea
en su lugar; mide el área imprimible en puntos fraccionarios y describe fuera con precisión las áreas imprimibles fuera del centro.
Implementación
public function get pageHeight():int
Elementos de API relacionados
pageWidth | propiedad |
pageWidth:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 9, AIR 1.0 |
La anchura del área más grande que puede centrarse en el área real imprimible de la página, en puntos. Los márgenes establecidos por el usuario no se tienen en cuenta. Esta propiedad sólo está disponible tras realizar una llamada al método PrintJob.start()
.
Nota: para AIR 2 o posterior, esta propiedad está desfasada. Utilice printableArea
en su lugar; mide el área imprimible en puntos fraccionarios y describe fuera con precisión las áreas imprimibles fuera del centro.
Implementación
public function get pageWidth():int
Elementos de API relacionados
paperArea | propiedad |
paperArea:Rectangle
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Los límites del medio de la impresora en puntos. Este valor utiliza el mismo sistema de coordenadas que se utiliza para las posteriores llamadas a addPage()
.
Implementación
public function get paperArea():Rectangle
paperHeight | propiedad |
paperHeight:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9. |
Altura total del papel en puntos. Esta propiedad sólo está disponible tras realizar una llamada al método PrintJob.start()
.
Nota: para AIR 2 o posterior, esta propiedad está desfasada. Utilice paperArea
en su lugar; mide las dimensiones del papel en puntos fraccionarios.
Implementación
public function get paperHeight():int
Elementos de API relacionados
paperWidth | propiedad |
paperWidth:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9. |
Anchura total del papel en puntos. Esta propiedad sólo está disponible tras realizar una llamada al método PrintJob.start()
.
Nota: para AIR 2 o posterior, esta propiedad está desfasada. Utilice paperArea
en su lugar; mide las dimensiones del papel en puntos fraccionarios.
Implementación
public function get paperWidth():int
Elementos de API relacionados
printableArea | propiedad |
printableArea:Rectangle
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Los límites del área de impresión del medio de la impresora en puntos. Este valor utiliza el mismo sistema de coordenadas que se utiliza para las posteriores llamadas a addPage()
.
Implementación
public function get printableArea():Rectangle
printer | propiedad |
printer:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Obtiene o define la impresora que se va a utilizar para el trabajo de impresión actual. La cadena que se transfiere a la propiedad setter y la devuelta por la propiedad getter deben coincidir con una de las cadenas del conjunto devuelto por el método printers
. Para indicar que debe utilizarse la impresora predeterminada, establezca el valor en null
. En sistemas operativos donde la impresora predeterminada no se puede determinar, el valor de esta propiedad es null
.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start();
Ajustar el valor de esta propiedad intenta seleccionar la impresora inmediatamente. Si falla la selección de la impresora, el valor de esta propiedad vuelve al valor anterior. Puede determinar si se consigue definir el valor de la impresora mediante la lectura del valor tras hacerlo, y confirmar que coincida con el valor que se ha definido.
La propiedad printer
de un trabajo de impresión activo no se puede cambiar. Intentar cambiar después de llamar al método start()
o start2()
correctamente y antes de llamar al método send()
o terminate()
produce un error.
Implementación
public function get printer():String
public function set printer(value:String):void
printers | propiedad |
printers:Vector.<String>
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Proporciona una lista de las impresoras disponibles como valores de nombres String. La lista no se calcula previamente; se genera cuando se llama a la función. Si no hay impresoras o si el sistema no admite la impresión el valor es null
. Si el sistema admite impresión pero no es capaz de devolver una lista de impresoras, el valor es un vector con un solo elemento (su propiedad length
es 1). En este caso, el único elemento es el nombre de la impresora real o un nombre predeterminado si no puede determinar el nombre de la impresora actual.
Implementación
public static function get printers():Vector.<String>
supportsPageSetupDialog | propiedad |
supportsPageSetupDialog:Boolean
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Indica si el entorno del motor de ejecución de Flash admite el diálogo Configurar página independiente. Si esta propiedad es true
, puede llamar al método showPageSetupDialog()
para mostrar el cuadro de diálogo Configurar página del sistema operativo.
Implementación
public static function get supportsPageSetupDialog():Boolean
Elementos de API relacionados
PrintJob | () | Información sobre |
public function PrintJob()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Crea un objeto PrintJob que se puede utilizar para imprimir una o varias páginas. Tras crear un objeto PrintJob, es necesario utilizar (en el orden siguiente) los métodos PrintJob.start()
, PrintJob.addPage()
y PrintJob.send()
para enviar el trabajo de impresión a la impresora.
Por ejemplo, se puede reemplazar el texto del marcador de posición [params]
de las llamadas al método myPrintJob.addPage()
mediante parámetros personalizados del modo que se indica a continuación en el siguiente código:
// create PrintJob object var myPrintJob:PrintJob = new PrintJob(); // display Print dialog box, but only initiate the print job // if start returns successfully. if (myPrintJob.start()) { // add specified page to print job // repeat once for each page to be printed try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } // send pages from the spooler to the printer, but only if one or more // calls to addPage() was successful. You should always check for successful // calls to start() and addPage() before calling send(). myPrintJob.send(); }
En AIR 2 o posterior, puede crear y utilizar varias instancias de PrintJob. Las propiedades definidas en la instancia de PrintJob se mantienen después de imprimir. Esto permite volver a utilizar una instancia de PrintJob y mantener las preferencias de impresión seleccionadas por el usuario, al tiempo que ofrece diferentes preferencias de impresión para otro contenido en la aplicación. Para contenido en Flash Player y en AIR anteriores a la versión 2, no se puede crear un segundo objeto PrintJob mientras el primero continúa activo. Si crea un segundo objeto PrintJob (llamando a new PrintJob()
), aunque continúe activo el primer objeto PrintJob, el segundo objeto no se creará. Por lo tanto, puede comprobar el valor myPrintJob
antes de crear un segundo objeto PrintJob.
Emite
IllegalOperationError — En Flash Player y en versiones de AIR anteriores a AIR 2, se emite una excepción si hay otro objeto PrintJob aún activo.
|
Elementos de API relacionados
addPage | () | método |
public function addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9. |
Envía el objeto Sprite especificado como página individual a la cola de impresión. Antes de utilizar este método, es necesario crear un objeto PrintJob y, a continuación, utilizar start()
o start2()
. A continuación, después de llamar a addPage()
una o varias veces para un trabajo de impresión, utilice send()
para enviar las páginas de la cola de impresión a la impresora. Dicho de otro modo, tras crear un objeto PrintJob, utilice (en el orden siguiente) start()
or start2()
, addPage()
y send()
para enviar el trabajo de impresión a la impresora. Se puede llamar a addPage()
varias veces después de una sola llamada a start()
para imprimir varias páginas en un trabajo de impresión.
Si addPage()
obliga a Flash Player a emitir una excepción (por ejemplo, si no ha llamado a start()
o si el usuario ha cancelado el trabajo de impresión), las siguientes llamadas a addPage()
fallarán. No obstante, si las llamadas anteriores a addPage()
se realizan correctamente, el comando final send()
enviará las páginas que se han situado correctamente en la cola a la impresora.
Si el trabajo de impresión tarda más de 15 segundos en completar una operación addPage()
, Flash Player emitirá una excepción en la siguiente llamada a addPage()
.
Si pasa un valor para el parámetro printArea
, las coordenadas x
e y
del rectánguloprintArea
corresponderán a la esquina superior izquierda (coordenadas 0,0) del área imprimible de la página. Las propiedades de sólo lectura pageHeight
y pageWidth
describen el área imprimible establecida por start()
. Dado que la impresión se alinea con la esquina superior izquierda del área imprimible de la página, si el área definida en printArea
es superior al área imprimible de la página, la impresión se recortará por la derecha o por abajo (o por ambos lados) del área definida por printArea
. En Flash Professional, si no transfiere un valor para printArea
y el escenario es mayor que el área imprimible, se producirá el mismo tipo de recorte. En Flex o Flash Builder, si no transfiere un valor para printArea
y la pantalla es mayor que el área imprimible, se producirá el mismo tipo de recorte.
Si desea redimensionar un objeto Sprite antes de imprimirlo, defina las propiedades (consulte flash.display.DisplayObject.scaleX
y flash.display.DisplayObject.scaleY
) antes de llamar a este método y vuelva a definir sus valores originales. La escala de un objeto Sprite no tiene relación con printArea
. Es decir, si especifica un área de impresión de 50 x 50 píxeles, se imprimirán 2.500 píxeles. Si cambia la escala del objeto Sprite, se seguirán imprimiendo 2.500 píxeles, pero el objeto Sprite se imprimirá con el tamaño escalado.
La función de impresión de Flash Player admite las impresoras PostScript, entre otras. Las impresoras que no son PostScript convierten los vectores en mapas de bits.
Parámetros
sprite:Sprite — El elemento Sprite con el contenido que se va a imprimir.
| |
printArea:Rectangle (default = null ) — Un objeto Rectangle que especifica el área que se va a imprimir.
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 esté escalado. Un objeto Sprite sin escalar de 72 píxeles de ancho se imprimirá con una anchura de una pulgada, cada punto equivaldrá a un píxel, independientemente de la resolución de la pantalla. Puede 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 transfiere de forma incorrecta el parámetro Si no desea especificar un valor para | |
options:PrintJobOptions (default = null ) — Parámetro opcional que especifica si se imprime como vector o como mapa de bits. El valor predeterminado es null , que representa una solicitud de impresión vectorial. Para imprimir sprite como un mapa de bits, defina la propiedad printAsBitmap del objeto PrintJobOptions como true . Recuerde las sugerencias siguientes al determinar si definirá printAsBitmap como true :
Si se omite o pasa de forma incorrecta | |
frameNum:int (default = 0 ) — Un número opcional que permite especificar el fotograma de un objeto MovieClip que se va a imprimir. Transferir frameNum no invoca ActionScript en ese fotograma. Si se omite este parámetro y el parámetro sprite es un objeto MovieClip, se imprime el marco actual de sprite .
|
Emite
Error — Emite una excepción si no se ha llamado a start() o si el usuario ha cancelado el trabajo de impresión.
|
Elementos de API relacionados
selectPaperSize | () | método |
public function selectPaperSize(paperSize:String):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Definir el tamaño de papel. Los valores aceptables para el parámetro paperSize
son constantes de la clase PaperSize. Llamar a este método afecta a la configuración de impresión como si el usuario elige un tamaño de papel en los diálogos Configurar página o Imprimir.
Se puede llamar a este método en cualquier momento. Llame a este método para iniciar un trabajo de impresión para establecer el valor predeterminado en el tamaño de papel en los diálogos Configurar página o Imprimir. Llame a este método mientras el trabajo de impresión está en curso para definir el tamaño del papel para un rango de páginas en el trabajo.
import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10);
Parámetros
paperSize:String — El tamaño de papel para utilizar en páginas siguientes del trabajo de impresión
|
Emite
ArgumentError — Si el parámetro paperSize no es uno de los valores aceptables definidos en la clase PaperSize.
|
Elementos de API relacionados
send | () | método |
public function send():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9. |
Envía páginas a la cola de impresión tras realizar llamadas correctamente a los métodos start()
o start2()
y addPage()
.
Este método no tendrá éxito si falla la llamada al método start()
o start2()
, o si una llamada al método addPage()
emite una excepción. Para evitar un error, compruebe que el método start()
o start2()
devuelve true
y capture cualquier excepción addPage()
antes de llamar a este método. En el ejemplo siguiente se muestra cómo verificar correctamente errores antes de llamar a este método:
var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.start()) { try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } myPrintJob.send(); }
Elementos de API relacionados
showPageSetupDialog | () | método |
public function showPageSetupDialog():Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Muestra el diálogo Configurar página del sistema operativo si el entorno actual lo admite. Utilice la propiedad supportsPageSetupDialog
para determinar si se admite la configuración de página.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); }
Boolean — true si el usuario selecciona "Aceptar" en el diálogo Configurar página. Esto indica que algunas propiedades PrintJob pueden haber cambiado. Devuelve false si el usuario selecciona “Cancelar” en el diálogo Configurar página.
|
Emite
IllegalOperationError — si el sistema no admite la configuración de página. Utilice la propiedad supportsPageSetupDialog para determinar si se admite la configuración de página.
| |
IllegalOperationError — si algún trabajo de impresión (incluido el actual) está activo.
|
Elementos de API relacionados
start | () | método |
public function start():Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9., Flash Player 9. |
Muestra el cuadro de diálogo Imprimir del sistema operativo e inicia el envío a la cola. El cuadro de diálogo Imprimir permite al usuario cambiar la configuración de impresión. Si se devuelve correctamente el método PrintJob.start()
(el usuario hace clic en Aceptar en el cuadro de diálogo Imprimir), se llenarán las siguientes propiedades para representar la configuración de impresión elegida por el usuario:
Propiedad | Tipo | Unidades | Notas |
---|---|---|---|
PrintJob.paperHeight | Number | Puntos | Altura total del papel. |
PrintJob.paperWidth | Number | Puntos | Anchura total del papel. |
PrintJob.pageHeight | Number | Puntos | Altura del área imprimible real de la página; los márgenes establecidos por el usuario no se tendrán en cuenta. |
PrintJob.pageWidth | Number | Puntos | Anchura del área imprimible real de la página; los márgenes establecidos por el usuario no se tendrán en cuenta. |
PrintJob.orientation | String | "portrait" (flash.printing.PrintJobOrientation.PORTRAIT ) u "landscape" (flash.printing.PrintJobOrientation.LANDSCAPE ). |
Nota: si el usuario cancela el cuadro de diálogo Imprimir, no se llenarán las propiedades.
Una vez que el usuario hace clic en Aceptar en el cuadro de diálogo Imprimir, el reproductor comienza a enviar el trabajo de impresión a la cola del sistema operativo. Como el sistema operativo comienza a mostrar al usuario información sobre el progreso de la impresión, se debe llamar a PrintJob.addPage()
y PrintJob.send()
en cuanto sea posible para enviar páginas a la cola de impresión. Puede utilizar las propiedades de sólo lectura height, width y orientation que llena este método para dar formato a la impresión.
Para ver si el método devuelve true
(cuando el usuario hace clic en Aceptar en el cuadro de diálogo Imprimir del sistema operativo) antes de realizar llamadas a PrintJob.addPage()
y PrintJob.send()
:
var myPrintJob:PrintJob = new PrintJob(); if(myPrintJob.start()) { // addPage() and send() statements here }
En la instancia del trabajo de impresión especificada, si alguno de los siguientes intervalos dura más de 15 segundos, la siguiente llamada a PrintJob.start()
devolverá false
:
PrintJob.start()
y el primerPrintJob.addPage()
- Un
PrintJob.addPage()
y el siguientePrintJob.addPage()
- El último
PrintJob.addPage()
yPrintJob.send()
Boolean — Un valor true si el usuario hace clic en Aceptar cuando aparece el cuadro de diálogo Imprimir, false si el usuario hace clic en Cancelar o si se produce un error.
|
Emite
IllegalOperationError — En AIR 2 o posterior, si hay otro objeto PrintJob activo actualmente
|
Elementos de API relacionados
start2 | () | método |
public function start2(uiOptions:PrintUIOptions = null, showPrintDialog:Boolean = true):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
De forma opcional, muestra el cuadro de diálogo Imprimir del sistema operativo, inicia el envío a la cola de impresión y posiblemente modifica los valores de la propiedad de sólo lectura del objeto PrintJob.
El parámetro uiOptions
permite a la llamada controlar qué opciones se muestran en el diálogo Imprimir. Consulte la clase PrintUIOptions
. Este parámetro se omite si showPrintDialog
es false.
Incluso cuando showPrintDialog
es true
, este comportamiento del método puede ser distinto del método start()
En algunos sistemas operativos, start()
muestra el diálogo Configurar página seguido del diálogo Imprimir. En cambio, start2()
nunca se muestra el diálogo Configurar página.
En el ejemplo siguiente, los valores mínimo y máximo en la sección número de páginas del diálogo Imprimir se establecen antes de que el diálogo se muestre al usuario:
import flash.printing.PrintJob; import flash.printing.PrintUIOptions; var myPrintJob:PrintJob = new PrintJob(); var uiOpt:PrintUIOptions = new PrintUIOptions(); uiOpt.minPage = 1; uiOpt.maxPage = 3; var accepted:Boolean = myPrintJob.start2(uiOpt);
Parámetros
uiOptions:PrintUIOptions (default = null ) — Un objeto que designa las opciones que visibles en el diálogo Imprimir que se muestra al usuario. Si el parámetro showPrintDialog es false , este valor se omite.
| |
showPrintDialog:Boolean (default = true ) — Si el diálogo Imprimir se muestra al usuario antes de iniciar el trabajo de impresión o no
|
Boolean — Un valor true si el usuario hace clic en Aceptar cuando aparece el cuadro de diálogo Imprimir, o si el diálogo de impresión no se muestra y no hay ningún error; false si el usuario hace clic en Cancelar o si se produce un error.
|
Emite
IllegalOperationError — Si se visualiza el diálogo Configurar página, o si hay otro trabajo de impresión activo actualmente
|
Elementos de API relacionados
terminate | () | método |
public function terminate():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 2 |
Indica que el trabajo de impresión se debe finalizar sin enviar. Utilice este método cuando un trabajo de impresión ya se ha iniciado por una llamada a start()
o start2()
, pero cuando no resulta adecuado para enviar las páginas a la impresora. Normalmente, terminate()
sólo se utiliza para recuperación de errores.
Después de llamar a este método, la instancia de PrintJob se puede reutilizar. Siempre que sea posible, la configuración de la impresión de trabajos se conserva para uso posterior.
addPage()
añade el elemento sprite como página individual. El método send()
envía la página a la impresora.
package { import flash.printing.PrintJob; import flash.display.Sprite; public class BasicPrintExample extends Sprite { var myPrintJob:PrintJob = new PrintJob(); var mySprite:Sprite = new Sprite(); mySprite.graphics.beginFill(0x336699); mySprite.graphics.drawCircle(100, 100, 50); public function BasicPrintExample() { if (myPrintJob.start()) { try { myPrintJob.addPage(mySprite); } catch(e:Error) { // handle error } myPrintJob.send(); } } }
PrintJobExample
para crear un documento pequeño y enviarlo a la impresora. Esto se consigue con los pasos siguientes:
- Declare dos variables de tipo Sprite denominadas
sheet1
ysheet2
. - Llame a
init()
, lo que asignará una nueva instancia Sprite asheet1
ysheet2
y, a continuación, llame acreateSheet()
utilizando argumentos diferentes. createSheet()
realiza lo siguiente:- El objeto Sprite pasado se utiliza para dibujar un rectángulo con un fondo gris claro, un borde color negro de un píxel y unas dimensiones de 100 píxeles de ancho por 200 píxeles de alto en las coordenadas x = 0, y = 0.
- Se crea un objeto TextField denominado
txt
con las mismas dimensiones que Sprite, se define la propiedad wordWrap comotrue
y se define la propiedad de texto como la cadena pasada como argumento acreateSheet()
. - Si el argumento Object pasado no tiene el valor null, cree una nueva instancia Sprite llamada
img
, que se utilizará para dibujar un rectángulo de color blanco con las propiedades de coordenadas y dimensiones del argumento Object pasado. El rectángulo blanco se añade a la lista de visualización del objeto Sprite utilizandoaddChild()
. - Se añade TextField
txt
a la lista de visualización del objeto Sprite utilizandoaddChild()
.
- De nuevo en el constructor, se llama al método de impresión activado (no convertido en comentario). Debido a que los métodos son muy similares,
printOnePerPage()
se describe a continuación. printOnePerPage()
realiza lo siguiente:- Declarar un nuevo objeto PrintJob llamado
pj
ypagesToPrint
como elemento uint. - Abrir el cuadro de diálogo de impresión nativo del sistema operativo y esperar a que el usuario haga clic en
Aceptar
. - Comprobar la orientación y, si Horizontal está seleccionado, generar un error y salir.
- Configurar la altura y anchura de la página para
sheet1
ysheet2
. - Enviar
sheet1
ysheet2
a la cola de impresión utilizandoaddPage()
. - Si el número de páginas que se va a imprimir es > 0, imprimir todas las páginas en cola.
- Declarar un nuevo objeto PrintJob llamado
- Se llama al método
draw()
, que modifica el tamaño de las dos propiedades Sprite para ajustarlas al escenario y cambia la posición desheet2
para que se sitúe justo a la derecha desheet1
.
Nota: el constructor se ha configurado de modo que sea posible seleccionar, en función de las preferencias, uno de los tres métodos de impresión (una hoja por página, dos hojas por página o imprimir en la mitad superior de la página). Este ejemplo no funcionará correctamente a menos que se desactiven exactamente dos de los métodos de impresión mediante comentarios de código. El ejemplo se ha configurado de modo que se llame a printOnePerPage()
.
package { import flash.printing.PrintJob; import flash.printing.PrintJobOrientation; import flash.display.Stage; import flash.display.Sprite; import flash.text.TextField; import flash.geom.Rectangle; public class PrintJobExample extends Sprite { private var sheet1:Sprite; private var sheet2:Sprite; public function PrintJobExample() { init(); printOnePerPage(); // printTwoPerPage(); // printTopHalf(); draw(); } private function init():void { sheet1 = new Sprite(); createSheet(sheet1, "Once upon a time...", {x:10, y:50, width:80, height:130}); sheet2 = new Sprite(); createSheet(sheet2, "There was a great story to tell, and it ended quickly.\n\nThe end.", null); } private function createSheet(sheet:Sprite, str:String, imgValue:Object):void { sheet.graphics.beginFill(0xEEEEEE); sheet.graphics.lineStyle(1, 0x000000); sheet.graphics.drawRect(0, 0, 100, 200); sheet.graphics.endFill(); var txt:TextField = new TextField(); txt.height = 200; txt.width = 100; txt.wordWrap = true; txt.text = str; if(imgValue != null) { var img:Sprite = new Sprite(); img.graphics.beginFill(0xFFFFFF); img.graphics.drawRect(imgValue.x, imgValue.y, imgValue.width, imgValue.height); img.graphics.endFill(); sheet.addChild(img); } sheet.addChild(txt); } private function printOnePerPage():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint = 0; if(pj.start()) { if(pj.orientation == PrintJobOrientation.LANDSCAPE) { throw new Error("Without embedding fonts you must print one sheet per page with an orientation of portrait."); } sheet1.height = pj.pageHeight; sheet1.width = pj.pageWidth; sheet2.height = pj.pageHeight; sheet2.width = pj.pageWidth; try { pj.addPage(sheet1); pagesToPrint++; } catch(e:Error) { // do nothing } try { pj.addPage(sheet2); pagesToPrint++; } catch(e:Error) { // do nothing } if(pagesToPrint > 0) { pj.send(); } } } private function printTwoPerPage():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint = 0; if(pj.start()) { if(pj.orientation == PrintJobOrientation.PORTRAIT) { throw new Error("Without embedding fonts you must print two sheets per page with an orientation of landscape."); } sheet1.height = pj.pageHeight; sheet1.width = pj.pageWidth/2; sheet2.height = pj.pageHeight; sheet2.width = pj.pageWidth/2; var sheets:Sprite = new Sprite(); sheets.addChild(sheet1); sheets.addChild(sheet2); sheets.getChildAt(1).x = sheets.getChildAt(0).width; try { pj.addPage(sheets); pagesToPrint++; } catch(e:Error) { // do nothing } if(pagesToPrint > 0) { pj.send(); } } } private function printTopHalf():void { var pj:PrintJob = new PrintJob(); var pagesToPrint:uint = 0; if(pj.start()) { if(pj.orientation == PrintJobOrientation.PORTRAIT) { throw new Error("Without embedding fonts you must print the top half with an orientation of landscape."); } sheet1.height = pj.pageHeight; sheet1.width = pj.pageWidth/2; sheet2.height = pj.pageHeight; sheet2.width = pj.pageWidth/2; var sheets:Sprite = new Sprite(); sheets.addChild(sheet1); sheets.addChild(sheet2); sheets.getChildAt(1).x = sheets.getChildAt(0).width; try { pj.addPage(sheets, new Rectangle(0, 0, sheets.width, sheets.height/2)); pagesToPrint++; } catch(e:Error) { // do nothing } if(pagesToPrint > 0) { pj.send(); } } } private function draw():void { var sheetWidth:Number = this.stage.stageWidth/2; var sheetHeight:Number = this.stage.stageHeight; addChild(sheet1); sheet1.width = sheetWidth; sheet1.height = sheetHeight; addChild(sheet2); sheet2.width = sheetWidth; sheet2.height = sheetHeight; sheet2.x = sheet1.width; } } }
package { import flash.display.Sprite; import flash.display.Stage; import flash.geom.Rectangle; import flash.printing.PaperSize; import flash.printing.PrintJob; import flash.printing.PrintJobOrientation; import flash.printing.PrintUIOptions; import flash.text.TextField; public class PrintJobExample extends Sprite { private var bg:Sprite; private var txt:TextField; private var pj:PrintJob; private var uiOpt:PrintUIOptions; public function PrintJobExample():void { var pj = new PrintJob(); uiOpt = new PrintUIOptions(); initPrintJob(); initContent(); draw(); printPage(); } private function printPage():void { if (pj.supportsPageSetupDialog) { pj.showPageSetupDialog(); } if (pj.start2(uiOpt, true)) { try { pj.addPage(this, new Rectangle(0, 0, 100, 100)); } catch (error:Error) { // Do nothing. } pj.send(); } else { txt.text = "Print job terminated"; pj.terminate(); } } private function initContent():void { bg = new Sprite(); bg.graphics.beginFill(0x00FF00); bg.graphics.drawRect(0, 0, 100, 200); bg.graphics.endFill(); txt = new TextField(); txt.border = true; txt.text = "Hello World"; } private function initPrintJob():void { pj.setPaperSize(PaperSize.LEGAL); pj.orientation = PrintJobOrientation.LANDSCAPE; pj.copies = 2; pj.jobName = "Flash test print"; } private function draw():void { addChild(bg); addChild(txt); txt.x = 50; txt.y = 50; } } }
Tue Jun 12 2018, 02:12 PM Z