Si el usuario ha cancelado el trabajo de impresión, hay que comprobar si el método
PrintJob.start()
devuelve
true
antes de ejecutar llamadas a
addPage()
y
send()
. Una forma sencilla de comprobar si se han cancelado estos métodos antes de continuar es incluirlos en una sentencia
if
, tal y como se muestra en el siguiente ejemplo:
if (myPrintJob.start())
{
// addPage() and send() statements here
}
Si
PrintJob.start()
es
true
, el usuario seleccionó Print (o un motor de ejecución de Flash, como as Flash Player o AIR, ha iniciado un comando Print). Por lo tanto, se puede llamar a los métodos
addPage()
y
send()
.
Asimismo, para ayudar a administrar el proceso de impresión, los motores de ejecución de Flash emiten excepciones para el método
PrintJob.addPage()
, de forma que es posible capturar errores y proporcionar información y opciones al usuario. Si un método
PrintJob.addPage()
no se ejecuta correctamente, se puede llamar a otra función o detener el trabajo de impresión actual. Estas excepciones se pueden capturar incorporando llamadas
addPage()
en una sentencia
try..catch
, tal y como se muestra en el siguiente ejemplo. En el ejemplo,
[params]
es un marcador de posición para los parámetros, que especifica el contenido real que se desea imprimir:
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error,
}
myPrintJob.send();
}
Cuando se inicia el trabajo de impresión, se puede añadir contenido mediante
PrintJob.addPage()
y ver si se genera una excepción (por ejemplo, si el usuario ha cancelado el trabajo de impresión). Si es así, se puede añadir lógica a la sentencia
catch
para proporcionar al usuario (o el motor de ejecución de Flash) información y opciones, o bien, se puede detener el trabajo de impresión actual. Si se añade la página correctamente, se puede continuar enviando las páginas a la impresora mediante
PrintJob.send()
.
Si los motores de ejecución de Flash encuentran un problema al enviar el trabajo de impresión a la impresora (por ejemplo, si la impresora está sin conexión), se puede capturar también dicha excepción y proporcionar al usuario información o más opciones (por ejemplo, mostrar el texto de un mensaje o proporcionar una alerta en una animación). Por ejemplo, puede asignar texto nuevo a un campo de texto en una sentencia
if..else
, tal y como se indica en el siguiente código:
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error.
}
myPrintJob.send();
}
else
{
myAlert.text = "Print job canceled";
}
Para ver ejemplos de uso, consulte
Ejemplo de impresión: Ajuste de escala, recorte y respuesta
.