![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
Flash Player 7.
my_pj
.addPage(target
[,printArea
] [,options
] [,frameNumber
])
target
Nivel o nombre de instancia del clip de película que se va a imprimir. Pase un número para especificar un nivel (por ejemplo, 0 es la película _root
) o una cadena entrecomillada para especificar el nombre de instancia de un clip de película.
printArea
Objeto opcional que especifica el área que se va a imprimir, en el formato siguiente:
{xMin:topLeft
, xMax:topRight
, yMin:bottomLeft
, yMax:bottomRight
}
Las coordenadas que se especifican para printArea
representan píxeles de la pantalla relativos al punto de registro de la película _root
(si target
= 0) o del nivel o clip de película especificado por target
. Debe especificar las cuatro coordenadas. La anchura (xMax-xMin
) y altura (yMax-yMin
) deben ser superiores a 0.
Los puntos son unidades de medida de impresión y los píxeles son unidades de medida de pantalla; un punto equivale en tamaño a un píxel. Puede utilizar las siguientes equivalencias para convertir pulgadas o centímetros en twips, píxeles o puntos (un twip es igual a 1/20 de píxel):
Nota: si anteriormente ha utilizado print()
, printAsBitmap()
, printAsBitmapNum()
o printNum()
para imprimir desde Flash, ha utilizado una etiqueta de fotograma #b
para especificar el área que debe imprimirse. Cuando utilice el método addPage()
, debe utilizar el parámetro printArea
para especificar el área de impresión; las etiquetas de fotograma #b
se pasan por alto.
Si se omite el parámetro printArea
o si se pasa incorrectamente, se imprimirá el área completa del escenario de target
. Si no desea especificar un valor para el parámetro printArea
pero sí un valor para options
o frameNumber
, debe pasar null
para printArea
.
options
Parámetro opcional que especifica si debe realizarse la impresión como vector o como mapa de bits, en el formato siguiente:
{printAsBitmap:Boolean
}
De forma predeterminada, las páginas se imprimen en formato de vector. Para imprimir target
como mapa de bits, pase true
para printAsBitmap. El valor predeterminado es false
, que representa una solicitud para la impresión vectorial. Recuerde las sugerencias siguientes a la hora de determinar el valor que debe utilizarse:
{printAsBitmap:true}
para incluir los efectos de transparencia y color que pueda haber.{printAsBitmap:false}
para imprimir el contenido en un formato de vector de mayor calidad.Si se omite options
o se pasa de forma incorrecta, se implementa la impresión vectorial. Si no desea especificar un valor para options
pero sí un valor para frameNumber
, pase null
para options
.
frameNumber
Número opcional que permite especificar el fotograma que se va a imprimir; tenga en cuenta que no se invocarán los ActionScript del fotograma. Si omite este parámetro, se imprime el fotograma actual del target
.
Nota: si anteriormente ha utilizado print()
, printAsBitmap()
, printAsBitmapNum()
o printNum()
para imprimir desde Flash, es posible que haya utilizado una etiqueta de fotograma #p
en varios fotogramas para especificar las páginas que deben imprimirse. Para utilizar PrintJob.addPage()
para imprimir varios fotogramas, debe especificar un comando PrintJob.addPage()
para cada fotograma; las etiquetas de fotograma #p
se pasan por alto. Si desea averiguar cómo se hace esto mediante programación, consulte el ejemplo que aparece más adelante en esta entrada.
El valor booleano true
si la página se ha enviado correctamente a la cola de impresión o false
en caso contrario.
Método; envía el nivel o el clip de película especificado como una única página a la cola de impresión. Antes de utilizar este método, debe utilizar PrintJob.start()
; después de llamar a PrintJob.addPage()
una o más veces para un trabajo de impresión, debe utilizar PrintJob.send()
para enviar las páginas de la cola de impresión a la impresora.
Si este método devuelve false
(por ejemplo, si no ha llamado a PrintJob.start()
o un usuario ha cancelado el trabajo de impresión), las llamadas siguientes a PrintJob.addPage()
generarán un error. Sin embargo, si las llamadas anteriores a PrintJob.addPage()
han sido correctas, el comando PrintJob.send()
final enviará a la impresora las páginas que se hayan enviado correctamente a la cola de impresión.
Si ha pasado un valor para printArea
, las coordenadas xMin
e yMin
se asignarán a la esquina superior izquierda (coordenadas 0,0) del área de la página que se puede imprimir; el área que se puede imprimir se determina mediante las propiedades pageHeight
y pageWidth
establecidas por PrintJob.start()
. Puesto que la salida impresa se alinea con la esquina superior izquierda del área de la página que se puede imprimir, la salida impresa se recorta en la parte derecha o inferior si el área definida en printArea
es mayor que el área de la página que se puede imprimir. Si no ha pasado un valor para printArea
y el escenario es más grande que el área imprimible, se realiza el mismo tipo de recorte.
Si desea cambiar la escala del clip de película antes de imprimirlo, establezca sus propiedades MovieClip._xscale
y MovieClip._yscale
antes de llamar a este método y luego establézcalas de nuevo en sus valores originales. La escala de un clip de película no guarda relación con printArea
. Es decir, si especifica que va a imprimir un área de 50 x 50 píxeles, se imprimirán 2500 píxeles. Si ha modificado la escala del clip de película, se seguirán imprimiendo 2500 píxeles, pero con el tamaño de la escala actual.
La función de impresión de Flash Player admite impresoras PostScript y no PostScript. Las impresoras no PostScript convierten los vectores en mapas de bits.
En el ejemplo siguiente se muestran distintas formas de emitir el comando addPage()
.
my_btn.onRelease = function() { var pageCount = 0; var my_pj = new PrintJob(); if (my_pj.start()) { // Imprimir todo el fotograma actual de la película _root en formato vectorial if (my_pj.addPage(0)) { pageCount++; // Empezando en 0,0, imprimir un área de 400 píxeles de anchura y 500 // píxeles de altura del fotograma actual de la película _root en formato vectorial if (my_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500})) { pageCount++; // Empezando en 0,0, imprimir un área de 400 píxeles de anchura y 500 // píxeles de altura del fotograma 1 de la película _root en formato de mapa de bits if (my_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500}, {printAsBitmap:true}, 1); { pageCount++; // Empezando en 50 píxeles a la derecha de 0,0 y 70 hacia abajo, // imprimir un área de 500 píxeles de anchura y 600 píxeles de // altura del fotograma 4 del nivel 5 en formato vectorial if (my_pj.addPage(5, {xMin:50,xMax:550,yMin:70,yMax:670},null, 4)) { pageCount++; // Empezando en 0,0, imprimir un área de 400 píxeles de anchura // y 400 píxeles de altura del fotograma 3 del clip de película // "dance_mc" en formato de mapa de bits if (my_pj.addPage("dance_mc", {xMin:0,xMax:400,yMin:0,yMax:400},{printAsBitmap:true}, 3)) { pageCount++; // Empezando en 0,0, imprimir un área de 400 píxeles de anchura // y 600 píxeles de altura del fotograma 3 del clip de película // "dance_mc" en formato vectorial a un 50% de su tamaño real var x = dance_mc._xscale; var y = dance_mc._yscale; dance_mc._xscale = 50; dance_mc._yscale = 50; if (my_pj.addPage("dance_mc", {xMin:0,xMax:400,yMin:0,yMax:600},null, 3)) { pageCount++; } dance_mc._xscale = x; dance_mc._yscale = y; } } } } } } if (pageCount) { my_pj.send(); } delete my_pj; }
PrintJob.send()
, PrintJob.start()
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |