Técnicas avançadas de impressãoAdobe AIR 2 e posterior Desde o Adobe AIR 2, a classe PrintJob possui propriedades adicionais, métodos e suporte a três classes adicionais: PrintUIOptions, PaperSize e PrintMethod. Essas mudanças permitem adicionar novos fluxos de trabalho de impressora e permite que os autores tenham um controle maior sobre o processo de impressão. As modificações incluem:
Alterações no fluxo de trabalho de impressãoO fluxo de trabalho de uma impressão nova consiste nas seguintes etapas:
Caixa de diálogo Configurar PáginaO método showPageSetupDialog()exibe o diálogo de Configuração de impressão do sistema, se o ambiente atual tiver suporte. Sempre verifique a propriedadesupportsPageSetupDialog antes de chamar este método. A seguir, um exemplo simples: import flash.printing.PrintJob;
var myPrintJob:PrintJob = new PrintJob();
//check for static property supportsPageSetupDialog of PrintJob class
if (PrintJob.supportsPageSetupDialog) {
myPrintJob.showPageSetupDialog();
}
Opcionalmente, o método pode ser chamado com uma PrintUIOptions class propriedade para controlar quais opções são exibidas no diálogo de Configurações de impressão. O número mínimo e máximo de páginas que pode ser definido. O exemplo a seguir limita a impressão para as três primeiras páginas: import flash.printing.PrintJob;
var myPrintJob:PrintJob = new PrintJob();
if (PrintJob.supportsPageSetupDialog) {
var uiOpt:PrintUIOptions = new PrintUIOptions();
uiOpt.minPage = 1;
uiOpt.maxPage = 3;
myPrintJob.showPageSetupDialog(uiOpt);
}
Alteração das configurações de impressãoAs configurações da instância PrintJob podem ser alteradas a qualquer momento após ela ser construída. Isto inclui alterar configurações entre chamadas addPage()e após a tarefa de impressão ter sido enviada ou encerrada. Algumas configurações como a propriedadeprinter, aplicam-se à tarefa de impressão toda e não a páginas individuais. Algumas configurações devem ser definidas antes de uma chamada para start() ou start2(). O método selectPaperSize() pode ser chamado para definir o tamanho de papel padrão nos diálogos de Configurações da página e Configurações de impressão. Ele também pode ser chamado durante uma tarefa de impressão para definir o tamanho do papel para um intervalo de páginas. Ele é chamado por constantes definidas na classe PaperSize como nestes exemplo, que seleciona um número 10 de tamanho de envelope: import flash.printing.PrintJob;
import flash.printing.PaperSize;
var myPrintJob:PrintJob = new PrintJob();
myPrintJob.selectPaperSize(PaperSize.ENV_10);
Utilize a propriedadeprinter para obter ou definir o nome da impressora para o trabalho atual. Por padrão, isto é definido com o nome da impressora padrão. A propriedade printer é null nenhuma impressora estiver disponível ou o sistema não tiver suporte à impressão. Para alterar a impressora, primeiro obtenha uma lista de impressoras disponíveis utilizando a propriedade printers. Essa propriedade é um Vetor cujo os elementos de Sequência de caracteres são os nomes das impressoras disponíveis. Defina a propriedade printer para um desses valores de Sequência de caracteres para tornar a impressora ativa. A propriedade printer de um trabalho de impressão ativo não pode ser modificada. Tenta mudar após uma chamada com sucesso para start() ou start2() e antes da tarefa ser enviada ou o terminal falhar. Segue um exemplo de configuração dessa propriedade: import flash.printing.PrintJob;
var myPrintJob:PrintJob = new PrintJob();
myPrintJob.printer = "HP_LaserJet_1";
myPrintJob.start();
A propriedade copies obtém o valor do número de cópias definidas no diálogo Imprimir do sistema operacional. As propriedades firstPage e lastPage obtém o intervalo de páginas. A propriedade orientation obtém as configurações de orientação de página. Essas propriedades podem ser definidas para sobrescrever os valores do diálogo Imprimir. O exemplo a seguir define essas propriedades: import flash.printing.PrintJob;
import flash.printing.PrintJobOrientation;
var myPrintJob:PrintJob = new PrintJob();
myPrintJob.copies = 3;
myPrintJob.firstPage = 1;
myPrintJob.lastPage = 3;
myPrintJob.orientation = PrintJobOrientation.LANDSCAPE;
A configuração somente leitura a seguir associada com PrintJob fornece informações úteis sobre a configuração atual da impressora:
Consulte Exemplo de impressão: configuração de página e opções de impressão. |
|