Tecniche di stampa avanzateAdobe AIR 2 e versioni successive A partire da Adobe AIR 2, la classe PrintJob dispone di proprietà e metodi aggiuntivi, inoltre sono supportate tre ulteriori classi: PrintUIOptions, PaperSize e PrintMethod. Queste modifiche consentono flussi di lavoro stampante aggiuntivi e forniscono agli autori maggiore controllo sul processo di stampa. Le modifiche includono:
Modifiche del flusso di lavoro di stampaIl nuovo flusso di lavoro di stampa comprende i passaggi seguenti:
Finestra di dialogo Imposta paginaIl metodo showPageSetupDialog() visualizza la finestra di dialogo Imposta pagina, se supportata dall'ambiente corrente. Controllare sempre la proprietà supportsPageSetupDialog prima di chiamare questo metodo. Di seguito è riportato un esempio: import flash.printing.PrintJob;
var myPrintJob:PrintJob = new PrintJob();
//check for static property supportsPageSetupDialog of PrintJob class
if (PrintJob.supportsPageSetupDialog) {
myPrintJob.showPageSetupDialog();
}
Il metodo può essere chiamato con una proprietà della classe PrintUIOptions per controllare le opzioni visualizzate nella finestra di dialogo Imposta pagina. È possibile impostare i numeri pagina min e max. Nell'esempio seguente la stampa viene limitata alle prime tre pagine: 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);
}
Modifica delle impostazioni di stampaLe impostazioni per un'istanza PrintJob possono essere modificate in qualsiasi momento dopo che è stata creata. Questo include la modifica delle impostazioni tra le chiamate addPage() e dopo che un lavoro di stampa è stato inviato o terminato. Alcune impostazioni, ad esempio la proprietà printer, vengono applicate all'intero lavoro di stampa, non alle singole pagine. Tali impostazioni devono essere impostate prima di una chiamata a start() o start2(). Il metodo selectPaperSize() può essere chiamato per impostare il formato carta predefinito nelle finestre di dialogo Imposta pagina e Stampa. Inoltre, può essere chiamato durante un lavoro di stampa per impostare il formato carta per un intervallo di pagine. La chiamata viene eseguita utilizzando le costanti definite nella classe PaperSize, come nell'esempio mostrato, che consente di selezionare il formato busta numero 10: import flash.printing.PrintJob;
import flash.printing.PaperSize;
var myPrintJob:PrintJob = new PrintJob();
myPrintJob.selectPaperSize(PaperSize.ENV_10);
Utilizzate la proprietà printer per ottenere o impostare il nome della stampante per il lavoro di stampa corrente. Per impostazione predefinita, questa proprietà è impostata sul nome della stampante predefinita. La proprietà printer è null se non è disponibile nessuna stampante o se il sistema non supporta la stampa. Per modificare la stampante, ottenete innanzitutto l'elenco delle stampanti disponibili utilizzando la proprietà printers. Tale proprietà è un vettore i cui elementi stringa sono nomi di stampante disponibili. Impostate la proprietà printer su uno di questi valori stringa per rendere la stampante quella attiva. La proprietà printer di un lavoro di stampa attivo non può essere modificata. Eventuali tentativi di modifica dopo una chiamata a start() o start2() e prima che il lavoro sia inviato o terminato non vanno a buon fine. Di seguito è riportato un esempio di impostazione della proprietà: import flash.printing.PrintJob;
var myPrintJob:PrintJob = new PrintJob();
myPrintJob.printer = "HP_LaserJet_1";
myPrintJob.start();
La proprietà copies ottiene il valore per il numero di copie impostato nella finestra di dialogo Stampa del sistema operativo. Le proprietà firstPage e lastPage ottengono l'intervallo pagine. La proprietà orientation consente di ottenere l'impostazione orientamento pagina. Queste proprietà possono essere impostate per ignorare i valori della finestra di dialogo Stampa. Nell'esempio seguente vengono impostate queste proprietà: 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;
Le impostazioni di sola lettura seguenti associate con PrintJob forniscono informazioni utili sull'impostazione stampante corrente:
Vedete Esempio di stampa: Impostazione pagina e opzioni di stampa. |
|