Pacote | flash.printing |
Classe | public class PrintJob |
Herança | PrintJob EventDispatcher Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Mobile Browser Support:: essa classe não possui suporte para navegadores móveis.
Suporte a perfil do AIR: este recurso conta com suporte em todos os sistemas operacionais para desktop, mas não é compatível com dispositivos móveis nem com dispositivos AIR for TV. Você pode testar o suporte que em tempo de execução utilizando a propriedadePrintJob.isSupported
. Consulte Suporte a perfil do AIR para obter mais informações sobre o suporte de API através de múltiplos perfis.
Use o construtor PrintJob()
para criar um trabalho de impressão.
Além disso, com as propriedades da classe PrintJob, você pode ler as configurações da impressora do usuário, como altura e largura da página e orientação da imagem, e pode configurar o documento para formatar dinamicamente o conteúdo do Flash apropriado para as configurações da impressora.
Observação: O ActionScript 3.0 não restringe o objeto PrintJob a um único quadro (como faziam as versões anteriores do ActionScript). Entretanto, como o sistema operacional exibe informações do status de impressão para o usuário, depois que ele clicou no botão OK na caixa de diálogo Imprimir, você deveria chamar PrintJob.addPage()
e PrintJob.send()
o mais rápido possível para enviar as páginas para o spooler. Um atraso que atinja o quadro que contém a chamada de PrintJob.send()
atrasará o processo de impressão.
Além disso, um limite de tempo de intervalo de script de 15 segundos aplica-se aos intervalos a seguir:
- O
PrintJob.start()
e o primeiroPrintJob.addPage()
- O
PrintJob.addPage()
e o seguintePrintJob.addPage()
- O último
PrintJob.addPage()
e oPrintJob.send()
Se qualquer dos intervalos acima tomar mais de 15 segundos, a chamada seguinte para o PrintJob.start()
, na ocorrência PrintJob, retorna false
e o seguinte PrintJob.addPage()
, na ocorrência PrintJob, faz com que o Flash Player ou o Adobe AIR lance uma exceção de tempo de execução.
Propriedade | Definido por | ||
---|---|---|---|
active : Boolean [estático] [somente leitura]
Indica se um trabalho de impressão está ativo atualmente. | PrintJob | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
copies : int
O número de cópias que o sistema de impressão imprime de quaisquer páginas subsequentes adicionadas ao trabalho de impressão. | PrintJob | ||
firstPage : int [somente leitura]
O número de página da primeira página do intervalo inserida pelo usuário na caixa de diálogo Imprimir do sistema operacional. | PrintJob | ||
isColor : Boolean [somente leitura]
Indica se a impressora atualmente selecionada nas impressões de configurações de impressão atuais imprime usando cor (true) ou tons de cinza (false). | PrintJob | ||
isSupported : Boolean [estático] [somente leitura]
Indica se a classe PrintJob é suportada na plataforma atual (sou verdade) ou não (falsa). | PrintJob | ||
jobName : String
O nome ou o título do trabalho de impressão. | PrintJob | ||
lastPage : int [somente leitura]
O número de página da última página do intervalo inserido pelo usuário na caixa de diálogo Imprimir do sistema operacional. | PrintJob | ||
maxPixelsPerInch : Number [somente leitura]
A resolução física da impressora selecionada, em pixels por polegada. | PrintJob | ||
orientation : String
A orientação da imagem para impressão. | PrintJob | ||
pageHeight : int [somente leitura]
A altura da maior área que pode ser centrada na área para impressão real na página, em pontos. | PrintJob | ||
pageWidth : int [somente leitura]
A largura da maior área que pode ser centrada na área pronta para impressão real na página, em pontos. | PrintJob | ||
paperArea : Rectangle [somente leitura]
Os limites da mídia da impressora em pontos. | PrintJob | ||
paperHeight : int [somente leitura]
A altura geral do papel, em pontos. | PrintJob | ||
paperWidth : int [somente leitura]
A largura geral do papel, em pontos. | PrintJob | ||
printableArea : Rectangle [somente leitura]
Os limites da área pronta para impressão das mídias de impressora em pontos. | PrintJob | ||
printer : String
Atribui ou define a impressora que será usada para o trabalho de impressão atual. | PrintJob | ||
printers : Vector.<String> [estático] [somente leitura]
Fornece uma lista das impressoras disponíveis como valores de nomes de String. | PrintJob | ||
supportsPageSetupDialog : Boolean [estático] [somente leitura]
Indica se o ambiente de tempo de execução Flash suporta uma caixa de diálogo Configurar Página separada. | PrintJob |
Método | Definido por | ||
---|---|---|---|
PrintJob()
Cria um objeto PrintJob que você pode usar para imprimir uma ou mais páginas. | PrintJob | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Envia o objeto Sprite especificado como página única ao spooler de impressão. | PrintJob | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Defina o tamanho do papel. | PrintJob | ||
Envia páginas contidas no spool para a impressora depois de chamadas bem-sucedidas dos métodos start() ou start2() e addPage(). | PrintJob | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Exibe a caixa de diálogo Configurar Página do sistema operacional se o ambiente atual suportar. | PrintJob | ||
Exibe a caixa de diálogo Imprimir do sistema operacional e inicia o spool de impressão. | PrintJob | ||
Opcionalmente exibe a caixa de diálogo Imprimir do sistema operacional, inicia o spooling e possivelmente modifica os valores de propriedade somente leitura PrintJob. | PrintJob | ||
Mostra que o trabalho de impressão deve ser terminado sem envio. | PrintJob | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
active | propriedade |
active:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Indica se um trabalho de impressão está ativo atualmente. Um trabalho de impressão é ativo (o valor de propriedade é verdadeiro
) em qualquer de duas condições:
- Uma caixa de diálogo Configurar Página ou Imprimir está sendo exibida.
- O
start()
oustart2()
o método foi invocado com umverdadeiro
valor de retorno, e oenviam()
oufinito()
o método não foi invocado.
Se esta propriedade é verdadeiro
e você chamam o showPageSetupDialog()
, start()
, ou start2()
método, o tempo de execução lança-se uma exceção.
Implementação
public static function get active():Boolean
Elementos da API relacionados
copies | propriedade |
copies:int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
O número de cópias que o sistema de impressão imprime de quaisquer páginas subsequentes adicionadas ao trabalho de impressão. Esta valor é o número de cópias introduzido pelo usuário na caixa de diálogo Imprimir do sistema operacional. Se o número de cópias não foi exibido na caixa de diálogo Imprimir ou sea caixa de diálogo não foi apresentada ao usuário, o valor será 1 (a menos que tenha sido modificado pelo código do aplicativo).
Implementação
public function get copies():int
public function set copies(value:int):void
firstPage | propriedade |
firstPage:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
O número de página da primeira página do intervalo inserida pelo usuário na caixa de diálogo Imprimir do sistema operacional. Esta propriedade será zero se o usuário solicitar que todas as páginas sejam impressas ou se o intervalo de páginas não for exibido no diálogo Imprimirnou se o diálogo Imprimir não foi exibido para o usuário.
Implementação
public function get firstPage():int
isColor | propriedade |
isColor:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Indica se a impressora atualmente selecionada nas impressões de configurações de impressão atuais que usam cor ( verdadeiro
) ou tons de cinza ( falso
).
Se um valor de cor-ou-tons-de-cinza não puder ser determinado, o valor é verdadeiro
.
Implementação
public function get isColor():Boolean
isSupported | propriedade |
jobName | propriedade |
jobName:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
O nome ou o título do trabalho de impressão. O nome de trabalho é normalmente usado pelo SO como o título do trabalho na fila de impressão ou como o nome padrão de um trabalho que é impresso para arquivo.
Se você não invocou start()
ou start2()
e você não estabeleceram um valor da propriedade, o valor desta propriedade é nulidade
.
Para cada trabalho de impressão você realiza com um exemplo PrintJob, estabelece esta propriedade antes de chamar o método start()
ou start2()
.
O valor padrão é null
.
Implementação
public function get jobName():String
public function set jobName(value:String):void
Lança
IllegalOperationError — se o código tenta estabelecer a propriedade enquanto o ativo a propriedade é verdadeiro .
|
lastPage | propriedade |
lastPage:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
O número de página da última página do intervalo inserido pelo usuário na caixa de diálogo Imprimir do sistema operacional. Esta propriedade será zero se o usuário solicitar que todas as páginas sejam impressas ou se o intervalo de páginas não for exibido no diálogo Imprimirnou se o diálogo Imprimir não foi exibido para o usuário.
Implementação
public function get lastPage():int
maxPixelsPerInch | propriedade |
maxPixelsPerInch:Number
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
A resolução física da impressora selecionada, em pixels por polegada. O valor é calculado segundo as configurações de impressão atuais como informado pelo sistema operacional.
Se a resolução não puder ser determinada, o valor será um valor padrão. O valor padrão é 600 ppi no Linux e 360 ppi no Mac. No Windows, a resolução da impressora está sempre disponível, portanto nenhum valor padrão será necessário.
Implementação
public function get maxPixelsPerInch():Number
orientation | propriedade |
orientation:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 9 - read only, AIR 1.0 - read only, AIR 2 - read-write |
A orientação da imagem para impressão. Os valores aceitáveis são definidos como constantes na classe PrintJobOrientation.
Observação: de AIR 2 ou depois, fazem que esta propriedade antes de iniciar um trabalho de impressão estabeleça a orientação de padrão na Organização de Página e Caixas de diálogo Imprimir. Estabeleça a propriedade enquanto um trabalho de impressão está no progresso (depois que chamando start()
ou start2()
para estabelecer a orientação de um intervalo de páginas dentro do trabalho.
Implementação
public function get orientation():String
public function set orientation(value:String):void
Elementos da API relacionados
pageHeight | propriedade |
pageHeight:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9. |
A altura da maior área que pode ser centrada na área para impressão real na página, em pontos. Todas as margens definidas pelo usuário são ignoradas. Esta propriedade só ficará disponível após ter sido feita a chamada do método PrintJob.start()
.
Observação: Para o AIR 2 ou superior, esta propriedade é deprecada. Use printableArea
, que mede a área imprimível em pontos fracionários e descreve com precisão áreas imprimíveis que estão fora do centro.
Implementação
public function get pageHeight():int
Elementos da API relacionados
pageWidth | propriedade |
pageWidth:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 9, AIR 1.0 |
A largura da maior área que pode ser centrada na área pronta para impressão real na página, em pontos. Todas as margens definidas pelo usuário são ignoradas. Esta propriedade só ficará disponível após ter sido feita a chamada do método PrintJob.start()
.
Observação: Para o AIR 2 ou superior, esta propriedade é deprecada. Use printableArea
, que mede a área imprimível em pontos fracionários e descreve com precisão áreas imprimíveis que estão fora do centro.
Implementação
public function get pageWidth():int
Elementos da API relacionados
paperArea | propriedade |
paperHeight | propriedade |
paperHeight:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9. |
A altura geral do papel, em pontos. Esta propriedade só ficará disponível após ter sido feita a chamada do método PrintJob.start()
.
Observação: Para o AIR 2 ou superior, esta propriedade é deprecada. Em vez disso, use paperArea
, que mede as dimensões do papel em pontos fracionários.
Implementação
public function get paperHeight():int
Elementos da API relacionados
paperWidth | propriedade |
paperWidth:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9. |
A largura geral do papel, em pontos. Esta propriedade só ficará disponível após ter sido feita a chamada do método PrintJob.start()
.
Observação: Para o AIR 2 ou superior, esta propriedade é deprecada. Em vez disso, use paperArea
, que mede as dimensões do papel em pontos fracionários.
Implementação
public function get paperWidth():int
Elementos da API relacionados
printableArea | propriedade |
printableArea:Rectangle
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Os limites da área pronta para impressão das mídias de impressora em pontos. Este valor usa o mesmo sistema de coordenadas que é usado para chamadas addPage()
subsequentes.
Implementação
public function get printableArea():Rectangle
printer | propriedade |
printer:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Atribui ou define a impressora que será usada para o trabalho de impressão atual. A String passada para o setter e a retornada pelo getter devem corresponder a uma das strings na Matriz retornada pelo método printers()
. Para indicar que a impressora por defeito deve ser usada, estabelecem o valor em nulidade
. Em sistemas operacionais onde a impressora padrão não pode ser determinada, o valor desta propriedade é null
.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start();
Estabelecendo o valor destas tentativas de propriedade para selecionar a impressora imediatamente. Se a selecção de impressora falhar, o valor desta propriedade será redefinido com o valor anterior. Você pode determinar se a configuração do valor da impressora será bem-sucedido ao ler o valor depois de tentar defini-lo e confirmar se esse valor corresponde ao que foi definido.
A propriedade printer
de um trabalho de impressão ativo não pode ser modificada. Tentar alterar isso depois de o chamar o método start()
ou start2()
com sucesso e antes de chamar send()
ou terminate()
gera uma falha.
Implementação
public function get printer():String
public function set printer(value:String):void
printers | propriedade |
printers:Vector.<String>
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Fornece uma lista das impressoras disponíveis como valores de nomes de String. A lista não é pré-calculada; ela é gerada quando a função é chamada. Se nenhuma impressora estiver disponível ou se o sistema não suportar a impressão, o valor seránull
. Se o sistema suportar impressão, mas não for capazes de retornar uma lista de impressoras, o valor será um Vetor com um elemento simples (sua propriedade length
será 1). Neste caso, o elemento simples na matriz terá o nome da impressora real ou um nome padrão se o nome da impressora atual não puder ser determinado.
Implementação
public static function get printers():Vector.<String>
supportsPageSetupDialog | propriedade |
supportsPageSetupDialog:Boolean
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Indica se o ambiente de tempo de execução Flash suporta uma caixa de diálogo Configurar Página separada. Se esta propriedade for true
, você poderá chamar o método showPageSetupDialog()
para exibir a caixa de diálogo de configuração de página do sistema operacional.
Implementação
public static function get supportsPageSetupDialog():Boolean
Elementos da API relacionados
PrintJob | () | Construtor |
public function PrintJob()
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Cria um objeto PrintJob que você pode usar para imprimir uma ou mais páginas. Após criar o objeto PrintJob, você precisa usar (na seguinte sequência) os métodos PrintJob.start()
, PrintJob.addPage()
e depois o PrintJob.send()
para enviar o trabalho de impressão para a impressora.
Por exemplo, você pode substituir o texto do espaço reservado [params]
para as chamadas do método my_pj.addPage()
por parâmetros personalizados, conforme exibido no código a seguir:
// 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(); }
No AIR 2 ou superior, você pode criar e usar múltiplas instâncias de PrintJob. As propriedades definidas na instâcia PrintJob são conservadas após o término da impressão. Isto permite reutilizar uma instância de PrintJob e manter as preferências de impressão selecionadas do usuário, oferecendo simultaneamente diferentes preferências de impressão para outro conteúdo no seu aplicativo. Para o conteúdo em Flash Player e em AIR anterior à versão 2, você não poderá criar um segundo objeto PrintJob enquanto o primeiro ainda estiver ativo. Se você criar um segundo objeto PrintJob (chamando new PrintJob()
), enquanto o primeiro objeto PrintJob ainda está ativo, o segundo objeto PrintJob não será criado. Portanto, você deve verificar o valor de myPrintJob
antes de criar um segundo PrintJob.
Lança
IllegalOperationError — No Flash Player e no AIR anterior à versão AIR 2, lança uma exceção quando outro objeto PrintJob ainda está ativo.
|
Elementos da API relacionados
addPage | () | método |
public function addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9. |
Envia o objeto Sprite especificado como página única ao spooler de impressão. Antes de usar este método, você precisa criar o objeto PrintJob e depois usar start()
ou start2()
. Em seguida, depois de chamar addPage()
uma ou mais vezes para um trabalho de impressão, use send()
para enviar as páginas para o spool de impressão. Em outras palavras, após criar o objeto PrintJob, use (na seguinte sequência) os métodos start()
, start2()
, addPage()
e, depois, send()
para enviar o trabalho de impressão para a impressora. Você pode invocar addPage()
várias vezes depois de uma chamada única para iniciar ( start()
) a impressão de várias páginas em um trabalho de impressão.
Se addPage()
fizer com que o Flash Player lance uma exceção (por exemplo, se você não tiver chamado start()
ou se o usuário tiver cancelado o trabalho de impressão), todas as chamadas subsequentes de addPage()
falharão. Entretanto, se as chamadas anteriores de addPage()
tiverem êxito, o comando final send()
enviará as páginas em spool bem-sucedidas para a impressora.
Se o trabalho de impressão levar mais de 15 segundos para concluir uma operação addPage()
, o Flash Player lançará uma exceção na chamada addPage()
seguinte.
Se você transmitir um valor para o parâmetro printArea
, as coordenadas x
e y
do objeto printArea
se organizarão no canto superior esquerdo (coordenadas 0,0) da área pronta para impressão da página. As propriedades read-only pageHeight
e pageWidth
descrevem a área pronta para impressão definida por start()
. Como a listagem se alinha com o canto superior esquerdo da área imprimível da página, quando a área definida no printArea
é maior do que a área imprimível da página, a listagem é recortada no lado direito ou inferior (ou ambos) da área definida pelo printArea
. Se você não transmitir um valor para printArea
e Palco for maior do que a área pronta para impressão, ocorrerá o mesmo tipo de corte. No Flex ou no Flash Builder, se você não transmitir um valor para printArea
e a tela for maior do que a área pronta para impressão, ocorrerá o mesmo tipo de corte.
Se você deseja dimensionar um objeto Sprite antes de imprimi-lo, defina as propriedades da escala (consulte flash.display.DisplayObject.scaleX
e flash.display.DisplayObject.scaleY
), antes de chamar esse método e reconfigure-as nos valores originais antes de imprimir. A escala de um objeto Sprite não tem relação com o printArea
. Ou seja, se você especificar a área de impressão de 50 x 50 pixels, serão impressos 2500 pixels. Se você dimensionar o objeto Sprite, serão impressos os mesmos 2500 pixels, mas o objeto Sprite será impresso no tamanho dimensionado.
O recurso de impressão do Flash Player suporta impressoras PostScript e não PostScript. As impressoras não PostScript convertem vetores em bitmaps.
Parâmetros
sprite:Sprite — A entidade gráfica que contém o conteúdo a ser impresso.
| |
printArea:Rectangle (default = null ) — Um objeto Retângulo que especifica a área a ser impressa.
A largura e a altura do retângulo são valores em pixels. Uma impressora usa pontos como unidades de medida de impressão. Os pontos têm tamanho físico fixo (1/72 pol), mas o tamanho de um pixel, na tela, depende da resolução da tela particular. Assim, a taxa de conversão entre pixels e pontos depende das configurações da impressora e se o sprite está dimensionado. Uma entidade gráfica sem escala com 72 pixels de largura terá uma polegada de largura na impressão, com um ponto igual a um pixel, independentemente da resolução da tela. Você pode usar as equivalências a seguir para converter polegadas ou centímetros em twips (1/20 de um ponto) ou pontos:
Se você omitir o parâmetro Se você não deseja especificar um valor para | |
options:PrintJobOptions (default = null ) — Um parâmetro opcional que especifica se a impressão será como vetor ou bitmap. O valor padrão é null , que representa a solicitação de impressão vetorial. Para imprimir o sprite como um bitmap, defina a propriedade printAsBitmap do objeto PrintJobOptions para true . Lembre-se das sugestões a seguir, na determinação se printAsBitmap deve ser definido como true :
Se | |
frameNum:int (default = 0 ) — Um número opcional que permite especificar o quadro de um objeto MovieClip a ser impresso. Transmitir um frameNum não invoca ActionScript naquele quadro. Se você omitir este parâmetro e o parâmetro sprite for um objeto MovieClip, o quadro atual em sprite será impresso.
|
Lança
Error — Lança uma exceção, se você não tiver chamado start() ou se o usuário cancelar o trabalho de impressão.
|
Elementos da API relacionados
selectPaperSize | () | método |
public function selectPaperSize(paperSize:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Defina o tamanho do papel. Os valores aceitáveis para o parâmetro paperSize
são constantes na classe PaperSize. A chamada deste método afeta as configurações de impressão como se o usuário tivesse escolhido um tamanho de papel no diálogo Configurar Página ou Imprimir.
Você pode invocar este método em qualquer momento. Este método deve ser chamado antes de iniciar um trabalho de impressão para definir o tamanho do papel padrão nas caixas de diálogo Configurar Página e Imprimir. Chame este método enquanto um trabalho de impressão estiver em andamento para definir o tamanho do papel de um intervalo de páginas no trabalho.
import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10);
Parâmetros
paperSize:String — O tamanho do papel a ser usado para as páginas subsequentes no trabalho de impressão
|
Lança
ArgumentError — se o parâmetro paperSize não for um dos valores aceitáveis definidos na classe PaperSize.
|
Elementos da API relacionados
send | () | método |
public function send():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9. |
Envia páginas em spool para a impressora depois de chamadas bem-sucedidas de start ()
ou start2()
e dos métodos addPage()
.
Este método não terá êxito se a chamada do método start()
ou start2()
falhar ou se uma chamada do método addPage()
lançar uma exceção. Para evitar um erro, verifique que se o método start()
ou start2()
o método retorna verdadeiro
e proveito algum addPage()
exceções antes de invocar este método. O exemplo a seguir demonstra como verificar erros adequadamente antes de chamar este método:
var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.start()) { try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } myPrintJob.send(); }
Elementos da API relacionados
showPageSetupDialog | () | método |
public function showPageSetupDialog():Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Exibe a caixa de diálogo Configurar Página do sistema operacional se o ambiente atual suportar. Use a propriedade supportsPageSetupDialog
para determinar se a configuração de página é suportada.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); }
Boolean — true se o usuário escolhe "OKAY" na caixa de diálogo de Organização de Página. Isto indica que algumas propriedades PrintJob podem ter-se modificado. Retorna false se o usuário escolher "Cancelar" na caixa de diálogo Configurar Página.
|
Lança
IllegalOperationError — se o sistema não suportar Configuram página. Use a propriedade supportsPageSetupDialog para determinar se a configuração de página é suportada.
| |
IllegalOperationError — se algum trabalho de impressão (inclusive o atual) está ativo.
|
Elementos da API relacionados
start | () | método |
public function start():Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9., Flash Player 9. |
Exibe a caixa de diálogo Imprimir do sistema operacional e inicia o spool de impressão. A caixa de diálogo Imprimir permite que o usuário mude as configurações de impressão. Quando o método PrintJob.start()
retorna com êxito (o usuário clica em OK na caixa de diálogo Imprimir), as propriedades a seguir são preenchidas, representando as configurações de impressão do usuário:
Propriedade | Tipo | Unidades | Observações |
---|---|---|---|
PrintJob.paperHeight | Número | Pontos | Altura geral do papel. |
PrintJob.paperWidth | Número | Pontos | Largura geral do papel. |
PrintJob.pageHeight | Número | Pontos | Altura da área imprimível real da página; as margens definidas pelo usuário são ignoradas. |
PrintJob.pageWidth | Número | Pontos | Largura da área imprimível real da página; as margens definidas pelo usuário são ignoradas. |
PrintJob.orientation | String | "retrato" (flash.printing.PrintJobOrientation.PORTRAIT ) ou "paisagem" (flash.printing.PrintJobOrientation.LANDSCAPE ). |
Observação: Se o usuário cancelar a caixa de diálogo Imprimir, as propriedades não são preenchidas.
Depois do usuário clicar em OK na caixa de diálogo Imprimir, o player inicia um trabalho de impressão em spool para o sistema operacional. Como, em seguida, o sistema operacional começa a exibir informações para o usuário sobre o progresso da impressão, você deve chamar PrintJob.addPage()
e PrintJob.send()
o mais breve possível para enviar as páginas para o spooler. Você pode usar as propriedades somente leitura de altura, largura e orientação que esse método preenche para formatar a listagem.
Teste para ver se esse método retorna true
(quando o usuário clica em OK na caixa de diálogo Imprimir do sistema operacional), antes das chamadas subsequentes para PrintJob.addPage()
e PrintJob.send()
:
var myPrintJob:PrintJob = new PrintJob(); if(myPrintJob.start()) { // addPage() and send() statements here }
Para a ocorrência dada de trabalho de impressão, se qualquer dos intervalos a seguir durar mais de 15 segundos, a próxima chamada para PrintJob.start()
retornará false
:
- O
PrintJob.start()
e o primeiroPrintJob.addPage()
- Um
PrintJob.addPage()
e o seguintePrintJob.addPage()
- O último
PrintJob.addPage()
e oPrintJob.send()
Boolean — Um valor true se o usuário clicar em OK quando aparece a caixa de diálogo Imprimir; false se o usuário clicar em Cancelar ou se ocorrer um erro.
|
Lança
IllegalOperationError — No AIR 2 ou superior, se outro PrintJob está ativo atualmente
|
Elementos da API relacionados
start2 | () | método |
public function start2(uiOptions:PrintUIOptions = null, showPrintDialog:Boolean = true):Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Opcionalmente exibe a caixa de diálogo Imprimir do sistema operacional, inicia o spooling e possivelmente modifica os valores de propriedade somente leitura PrintJob.
O parâmetro uiOptions
permite ao chamador controlar quais opções são exibidas na Caixa de diálogo Imprimir. Consulte a classe PrintUIOptions
. Este parâmetro não é ignorado se showPrintDialog
for falso.
Mesmo quando showPrintDialog
é true
, o comportamento deste método pode diferir do método start()
. Em alguns sistemas operacionais, start()
mostra a caixa de diálogo Configurar Página seguida pela caixa de diálogo Imprimir. Por outro lado, start2()
nunca mostra a caixa de diálogo Configurar Página.
No exemplo seguir, as configurações mínimas e máximas da página, na caixa de diálogo Imprimir, são definidas antes que a caixa de diálogo seja exibida para o usuário:
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 ) — Um objeto que indica quais opções serão exibidas na caixa de diálogo Imprimir que é exibida para o usuário. Se o showPrintDialog o parâmetro é falso , este valor não é ignorado.
| |
showPrintDialog:Boolean (default = true ) — Se a caixa de diálogo Imprimir é exibida para o usuário antes de iniciar o trabalho de impressão
|
Boolean — Um valor de true se o usuário clicar em OK quando a Caixa de diálogo Imprimir aparece, ou se a Caixa de diálogo Imprimir não for mostrada e não ocorrer nenhum erro; false se o usuário clicar em Cancelar ou se ocorrer um erro.
|
Lança
IllegalOperationError — Se a caixa de diálogo Configurar Página estiver sendo exibida, ou se outro trabalho de impressão estiver ativo atualmente
|
Elementos da API relacionados
terminate | () | método |
public function terminate():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 2 |
Mostra que o trabalho de impressão deve ser terminado sem envio. Este método deve ser usado quando um trabalho de impressão já foi iniciado por uma chamada a start()
ou start2()
, mas não for conveniente enviar qualquer página à impressora. Normalmente, terminate()
só será usado para recuperar erros.
Depois de invocar este método, a instância PrintJob pode ser reutilizada. Sempre que possível, as configurações de impressão do trabalho serão conservadas para o uso subsequente.
addPage()
adiciona o sprite como uma página única. O método send()
envia a página à impressora.
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 criar um documento pequeno e depois enviá-lo para a impressora. Isso é realizado com as seguintes etapas:
- Explique as duas variáveis do tipo Sprite denominadas
sheet1
esheet2
. - Chame
init()
, que atribui uma nova ocorrência Sprite asheet1
esheet2
e depois chamecreateSheet()
, com o uso de argumentos diferentes. - O
createSheet()
faz o seguinte:- O objeto Sprite transmitido é usado para desenhar um retângulo com fundo em cinza claro, borda preta de um pixel e com 100 pixels de largura por 200 de altura e x = 0, y = 0.
- É criado um novo objeto TextField denominado
txt
com as mesmas dimensões do Sprite, a propriedade wordWrap definida paratrue
e a propriedade do texto configurada para a String transmitida como um argumento paracreateSheet()
. - Se o argumento Objeto transmitido não for nulo, crie uma nova ocorrência Sprite denominada
img
, usada para desenhar um retângulo branco, com o uso da coordenada e das propriedades de dimensão do Objeto transmitido. O retângulo branco é incluído na lista de exibição do objeto Sprite usandoaddChild()
. - O TextField
txt
é incluído na lista de exibição do objeto Sprite usandoaddChild()
.
- De volta ao construtor, é chamado o método de impressão ativado (sem marcas de comentário). Como os métodos são muito semelhantes, o
printOnePerPage()
está descrito abaixo. - O
printOnePerPage()
faz o seguinte:- Explica o novo objeto PrintJob denominado
pj
e opagesToPrint
com um uint. - Abra a caixa de diálogo de impressão nativa do sistema operacional e espere que o usuário clique no
OK
. - Verifique a orientação e se foi selecionado Paisagem, lance um erro e saia.
- Defina a altura e a largura da página para
sheet1
esheet2
. - Envie
sheet1
esheet2
para o spooler da impressora, usandoaddPage()
. - Se o número de páginas para imprimir for > 0, imprima todas as páginas em spool.
- Explica o novo objeto PrintJob denominado
- É chamado o método
draw()
, que redimensiona as duas propriedades Sprite para se encaixarem no palco e reposiciona asheet2
de modo que fique bem à direita dasheet1
.
Observação: o construtor é configurado de modo que um dos três métodos de impressão (uma folha por página, duas folhas por página ou imprimir na metade superior da página) pode ser selecionado, com base na preferência. Esse exemplo não funcionará adequadamente a menos que exatamente dois dos métodos de impressão estejam desativados com o uso dos comentários de código. O exemplo é definido de modo que printOnePerPage()
será chamado.
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; } } }
Wed Jun 13 2018, 11:10 AM Z