Pacchetto | flash.printing |
Classe | public class PrintJob |
Ereditarietà | PrintJob EventDispatcher Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Supporto browser per dispositivi mobili: questa classe non è supportata nei browser per dispositivi mobili.
Supporto profili AIR: questa funzionalità è supportata in tutti i sistemi operativi desktop ma non nei dispositivi mobili o nei dispositivi AIR per TV. È possibile verificare se la funzionalità è supportata in fase runtime utilizzando la proprietà PrintJob.isSupported
. Per ulteriori informazioni sul supporto delle API tra più profili, vedete Supporto dei profili AIR.
Utilizzate la funzione di costruzione PrintJob()
per creare un lavoro di stampa.
Inoltre, con le proprietà della classe PrintJob, potete leggere le impostazioni della stampante dell'utente (ad esempio, altezza e larghezza della pagine, orientamento dell'immagine) e potete configurare il documento in modo che formatti dinamicamente il contenuto Flash in base alle impostazioni della stampante.
Nota: ActionScript 3.0 non limita un oggetto PrintJob a un fotogramma singolo (come accadeva nelle versioni precedenti di ActionScript). Tuttavia, siccome le informazioni dello stato di stampa vengono visualizzate dopo che si fa clic sul pulsante OK nella finestra di dialogo di stampa, è necessario chiamare PrintJob.addPage()
e PrintJob.send()
il più presto possibile per inviare le pagine allo spooler. Se il fotogramma contenente la chiamata PrintJob.send()
viene raggiunto in ritardo, il processo di stampa viene ritardato.
Inoltre, un limite di timeout dello script di 15 secondi si applica ai seguenti intervalli:
-
PrintJob.start()
e il primoPrintJob.addPage()
-
PrintJob.addPage()
e il successivoPrintJob.addPage()
- L'ultimo
PrintJob.addPage()
ePrintJob.send()
Se uno di questi intervalli supera il limite di 15 secondi, la successiva chiamata a PrintJob.start()
nell'istanza PrintJob restituisce false
, e la successiva chiamata a PrintJob.addPage()
nell'istanza PrintJob causa la generazione di un'eccezione runtime da parte di Flash Player o di Adobe AIR.
Altri esempi
Proprietà | Definito da | ||
---|---|---|---|
active : Boolean [statico] [sola lettura]
Indica se un lavoro di stampa è attualmente attivo. | PrintJob | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
copies : int
Il numero di copie che vengono stampate dal sistema operativo per le pagine aggiunte successivamente al lavoro di stampa. | PrintJob | ||
firstPage : int [sola lettura]
Il numero di pagina della prima pagina dell'intervallo di pagine immesso dall'utente nella finestra di dialogo Stampa del sistema operativo. | PrintJob | ||
isColor : Boolean [sola lettura]
Indica se la stampante attualmente selezionata con le impostazioni di stampa correnti esegue la stampa a colori (true) o in scala di grigi (false). | PrintJob | ||
isSupported : Boolean [statico] [sola lettura]
Indica se la classe PrintJob è supportata nella piattaforma corrente (true) o no (false). | PrintJob | ||
jobName : String
Il nome o il titolo del lavoro di stampa. | PrintJob | ||
lastPage : int [sola lettura]
Il numero di pagina dell'ultima pagina dell'intervallo di pagine immesso dall'utente nella finestra di dialogo Stampa del sistema operativo. | PrintJob | ||
maxPixelsPerInch : Number [sola lettura]
La risoluzione fisica della stampante selezionata, in pixel per pollice. | PrintJob | ||
orientation : String
L'orientamento dell'immagine per la stampa. | PrintJob | ||
pageHeight : int [sola lettura]
L'altezza dell'area più grande che è possibile centrare nell'effettiva area stampabile della pagina, espressa in punti. | PrintJob | ||
pageWidth : int [sola lettura]
La larghezza dell'area più grande che è possibile centrare nell'effettiva area stampabile della pagina, espressa in punti. | PrintJob | ||
paperArea : Rectangle [sola lettura]
I limiti del supporto utilizzato dalla stampante, in punti. | PrintJob | ||
paperHeight : int [sola lettura]
L'altezza totale del foglio, espressa in punti. | PrintJob | ||
paperWidth : int [sola lettura]
La larghezza totale del foglio, espressa in punti. | PrintJob | ||
printableArea : Rectangle [sola lettura]
I limiti dell'area stampabile del supporto utilizzato dalla stampante, in punti. | PrintJob | ||
printer : String
Ottiene o imposta la stampante da utilizzare per il lavoro di stampa corrente. | PrintJob | ||
printers : Vector.<String> [statico] [sola lettura]
Fornisce un elenco delle stampanti disponibili come valori di nomi stringa. | PrintJob | ||
supportsPageSetupDialog : Boolean [statico] [sola lettura]
Indica se l'ambiente runtime di Flash supporta una finestra di dialogo Imposta pagina separata. | PrintJob |
Metodo | Definito da | ||
---|---|---|---|
PrintJob()
Crea un oggetto PrintJob che può essere utilizzato per stampare una o più pagine. | PrintJob | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento. | EventDispatcher | ||
addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Invia l'oggetto Sprite specificato come pagina singola allo spooler di stampa. | PrintJob | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento. | EventDispatcher | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Imposta il formato carta. | PrintJob | ||
Invia pagine in spooling alla stampante dopo chiamate con esito positivo ai metodi start() o start2() e addPage(). | PrintJob | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Visualizza la finestra di dialogo Imposta pagina del sistema operativo, se l'ambiente corrente la supporta. | PrintJob | ||
Visualizza la finestra di dialogo di stampa del sistema operativo e avvia lo spooling. | PrintJob | ||
Visualizza facoltativamente la finestra di dialogo Stampa del sistema operativo, avvia lo spooling ed eventualmente modifica i valori delle proprietà di sola lettura di PrintJob. | PrintJob | ||
Indica che il lavoro di stampa deve essere terminato senza essere inviato. | PrintJob | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object | ||
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato. | EventDispatcher |
active | proprietà |
active:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Indica se un lavoro di stampa è attualmente attivo. Un lavoro di stampa è attivo (il valore della proprietà è true
) in una delle due condizioni seguenti:
- È visualizzata una finestra di dialogo Imposta pagina o Stampa.
- Il metodo
start()
ostart2()
è stato chiamato e ha restituitotrue
e il metodosend()
oterminate()
non è stato chiamato.
Se questa proprietà è true
e chiamate il metodo showPageSetupDialog()
, start()
o start2()
, il runtime genera un'eccezione.
Implementazione
public static function get active():Boolean
Elementi API correlati
copies | proprietà |
copies:int
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Il numero di copie che vengono stampate dal sistema operativo per le pagine aggiunte successivamente al lavoro di stampa. Questo valore è il numero di copie immesse dall'utente nella finestra di dialogo Stampa del sistema operativo. Se il numero di copie non è stato visualizzato nella finestra di dialogo Stampa oppure se la finestra non è stata mostrata all'utente, il valore è 1 (a meno che non sia stato modificato dal codice dell'applicazione).
Implementazione
public function get copies():int
public function set copies(value:int):void
firstPage | proprietà |
firstPage:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Il numero di pagina della prima pagina dell'intervallo di pagine immesso dall'utente nella finestra di dialogo Stampa del sistema operativo. Questa proprietà è pari a zero se l'utente richiede la stampa di tutte le pagine o se l'intervallo di pagine non è stato visualizzato nella finestra di dialogo Stampa oppure se la finestra di dialogo Stampa non è stata mostrata all'utente.
Implementazione
public function get firstPage():int
isColor | proprietà |
isColor:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Indica se la stampante attualmente selezionata con le impostazioni di stampa correnti esegue la stampa a colori (true
) o in scala di grigi (false
).
Se un valore di colore o scala di grigi non può essere determinato, il valore è true
.
Implementazione
public function get isColor():Boolean
isSupported | proprietà |
jobName | proprietà |
jobName:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Il nome o il titolo del lavoro di stampa. Il nome del lavoro di stampa viene solitamente utilizzato dal sistema operativo come titolo del lavoro nella coda di stampa o come nome predefinito di un lavoro stampato su file.
Se non avete chiamato start()
o start2()
e non avete impostato un valore per la proprietà, il valore di questa proprietà è null
.
Per ciascun lavoro di stampa che eseguite con un'istanza PrintJob, impostate questa proprietà prima di chiamare il metodo start()
o start2()
.
Il valore predefinito è null
.
Implementazione
public function get jobName():String
public function set jobName(value:String):void
Genera
IllegalOperationError — se il codice tenta di impostare la proprietà quando la proprietà active è true .
|
lastPage | proprietà |
lastPage:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Il numero di pagina dell'ultima pagina dell'intervallo di pagine immesso dall'utente nella finestra di dialogo Stampa del sistema operativo. Questa proprietà è pari a zero se l'utente richiede la stampa di tutte le pagine o se l'intervallo di pagine non è stato visualizzato nella finestra di dialogo Stampa oppure se la finestra di dialogo Stampa non è stata mostrata all'utente.
Implementazione
public function get lastPage():int
maxPixelsPerInch | proprietà |
maxPixelsPerInch:Number
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
La risoluzione fisica della stampante selezionata, in pixel per pollice. Il valore viene calcolato in base alle impostazioni di stampa correnti indicate dal sistema operativo.
Se non è possibile determinare la risoluzione, viene utilizzato un valore predefinito standard. Il valore predefinito è 600 ppi su Linux e 360 ppi su Mac OS. In Windows, la risoluzione della stampante è sempre disponibile, quindi non è necessario un valore predefinito.
Implementazione
public function get maxPixelsPerInch():Number
orientation | proprietà |
orientation:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 9 - read only, AIR 1.0 - read only, AIR 2 - read-write |
L'orientamento dell'immagine per la stampa. I valori accettabili sono definiti come costanti nella classe PrintJobOrientation.
Nota: per AIR 2 e versioni successive, impostate questa proprietà prima dell'avvio di un lavoro di stampa per impostare l'orientamento predefinito nelle finestre di dialogo Imposta pagina e Stampa. Impostate la proprietà mentre è in corso un lavoro di stampa (dopo aver chiamato start()
o start2()
) per impostare l'orientamento per un intervallo di pagine all'interno del lavoro.
Implementazione
public function get orientation():String
public function set orientation(value:String):void
Elementi API correlati
pageHeight | proprietà |
pageHeight:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9. |
L'altezza dell'area più grande che è possibile centrare nell'effettiva area stampabile della pagina, espressa in punti. Gli eventuali margini impostati dall'utente vengono ignorati. ed è disponibile solo in seguito a una chiamata al metodo PrintJob.start()
.
Nota: per AIR 2 e versioni successive, questa proprietà è obsoleta. Utilizzate invece printableArea
, che misura l'area stampabile in punti frazionari e descrive con precisione le aree stampabili a partire dal centro.
Implementazione
public function get pageHeight():int
Altri esempi
Risposta ai valori di altezza e larghezza della pagina
Elementi API correlati
pageWidth | proprietà |
pageWidth:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 9, AIR 1.0 |
La larghezza dell'area più grande che è possibile centrare nell'effettiva area stampabile della pagina, espressa in punti. Gli eventuali margini impostati dall'utente vengono ignorati. ed è disponibile solo in seguito a una chiamata al metodo PrintJob.start()
.
Nota: per AIR 2 e versioni successive, questa proprietà è obsoleta. Utilizzate invece printableArea
, che misura l'area stampabile in punti frazionari e descrive con precisione le aree stampabili a partire dal centro.
Implementazione
public function get pageWidth():int
Altri esempi
Risposta ai valori di altezza e larghezza della pagina
Elementi API correlati
paperArea | proprietà |
paperArea:Rectangle
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
I limiti del supporto utilizzato dalla stampante, in punti. Questo valore usa lo stesso sistema di coordinate delle successive chiamate addPage()
.
Implementazione
public function get paperArea():Rectangle
paperHeight | proprietà |
paperHeight:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9. |
L'altezza totale del foglio, espressa in punti. ed è disponibile solo in seguito a una chiamata al metodo PrintJob.start()
.
Nota: per AIR 2 e versioni successive, questa proprietà è obsoleta. Utilizzate invece paperArea
, che misura le dimensioni del foglio in punti frazionari.
Implementazione
public function get paperHeight():int
Elementi API correlati
paperWidth | proprietà |
paperWidth:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9. |
La larghezza totale del foglio, espressa in punti. ed è disponibile solo in seguito a una chiamata al metodo PrintJob.start()
.
Nota: per AIR 2 e versioni successive, questa proprietà è obsoleta. Utilizzate invece paperArea
, che misura le dimensioni del foglio in punti frazionari.
Implementazione
public function get paperWidth():int
Elementi API correlati
printableArea | proprietà |
printableArea:Rectangle
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
I limiti dell'area stampabile del supporto utilizzato dalla stampante, in punti. Questo valore usa lo stesso sistema di coordinate delle successive chiamate addPage()
.
Implementazione
public function get printableArea():Rectangle
printer | proprietà |
printer:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Ottiene o imposta la stampante da utilizzare per il lavoro di stampa corrente. L'oggetto String passato alla funzione setter e restituito dalla funzione getter deve corrispondere a una delle stringhe nell'array restituito dal metodo printers()
. Per indicare che deve essere usata la stampante predefinita, impostate il valore su null
. Nei sistemi operativi in cui non è possibile determinare la stampante, il valore di questa proprietà è null
.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start();
L'impostazione del valore di questa proprietà determina il tentativo di selezionare immediatamente la stampante. Se la selezione della stampante non riesce, il valore di questa proprietà viene riportato al valore precedente. Potete determinare se l'impostazione del valore della stampante ha esito positivo leggendo il valore dopo aver tentato di impostarlo e verificando che corrisponda al valore che è stato impostato.
La proprietà printer
di un lavoro di stampa attivo non può essere modificata. Gli eventuali tentativi di modificarla dopo che la chiamata al metodo start()
o start2()
è riuscita e prima di chiamare send()
o terminate()
avranno esito negativo.
Implementazione
public function get printer():String
public function set printer(value:String):void
printers | proprietà |
printers:Vector.<String>
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Fornisce un elenco delle stampanti disponibili come valori di nomi stringa. L'elenco non è precalcolato; viene generato quando chiamate la funzione. Se non sono disponibili stampanti o se il sistema operativo non supporta la stampa, il valore è null
. Se il sistema operativo supporta la stampa ma non è in grado di restituire un elenco di stampanti, il valore è un vettore con un singolo elemento (la proprietà lenght
è 1). In questo caso, l'unico elemento corrisponde al nome effettivo della stampante o a un nome predefinito, se non è possibile determinare il nome della stampante corrente.
Implementazione
public static function get printers():Vector.<String>
supportsPageSetupDialog | proprietà |
supportsPageSetupDialog:Boolean
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Indica se l'ambiente runtime di Flash supporta una finestra di dialogo Imposta pagina separata. Se questa proprietà è true
, potete chiamare il metodo showPageSetupDialog()
per visualizzare la finestra di dialogo Imposta pagina del sistema operativo.
Implementazione
public static function get supportsPageSetupDialog():Boolean
Elementi API correlati
PrintJob | () | Funzione di costruzione |
public function PrintJob()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Crea un oggetto PrintJob che può essere utilizzato per stampare una o più pagine. Dopo che avete creato l'oggetto PrintJob, dovete utilizzare (nella sequenza seguente) i metodi PrintJob.start()
, PrintJob.addPage()
e PrintJob.send()
per inviare un lavoro di stampa alla stampante.
Ad esempio, potete sostituire il testo segnaposto [params]
per le chiamate al metodo myPrintJob.addPage()
con parametri personalizzati, come nel codice seguente:
// 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(); }
In AIR 2 e versioni successive, potete creare e utilizzare più istanze PrintJob. Le proprietà impostate sull'istanza PrintJob vengono conservate dopo il completamento della stampa. In questo modo potete riutilizzare un'istanza PrintJob e gestire le preferenze di stampa selezionate da un utente, offrendo allo stesso tempo preferenze di stampa diverse per altri contenuti all'interno dell'applicazione. Per i contenuti in Flash Player e AIR (versioni precedenti alla 2), non è possibile creare un secondo oggetto PrintJob mentre il primo è ancora attivo. Se si crea un secondo oggetto PrintJob (mediante una chiamata a new PrintJob()
) mentre il primo oggetto PrintJob è ancora attivo, il secondo non viene creato. Per questo motivo, prima di creare un secondo PrintJob verificare la presenza del valore myPrintJob
.
Genera
IllegalOperationError — In Flash Player e AIR (versioni precedenti ad AIR 2), se è ancora attivo un altro oggetto PrintJob viene generata un'eccezione.
|
Elementi API correlati
addPage | () | metodo |
public function addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9. |
Invia l'oggetto Sprite specificato come pagina singola allo spooler di stampa. Prima di utilizzare questo metodo, è necessario creare un oggetto PrintJob e quindi utilizzare start()
o start2()
. In seguito, dopo aver effettuato una o più chiamate a addPage()
per un lavoro di stampa, utilizzate send()
per inviare alla stampante le pagine elaborate dallo spooler. In altre parole, dopo aver creato l'oggetto PrintJob, utilizzate (nella sequenza seguente) i metodi start()
o start2()
, addPage()
e quindi send()
per inviare un lavoro di stampa alla stampante. È possibile chiamare addPage()
più volte in seguito a una singola chiamata a PrintJob.start()
per stampare più pagine di un lavoro di stampa.
Se addPage()
provoca la generazione di un'eccezione da parte di Flash Player (ad esempio se non avete chiamato start()
o se l'utente annulla il lavoro di stampa), tutte le successive chiamate a addPage()
danno esito negativo. Tuttavia, se le precedenti chiamate a addPage()
sono state effettuate correttamente, il comando send()
conclusivo invia alla stampante le pagine inserite correttamente nello spool.
Se il lavoro di stampa impiega più di 15 secondi per completare un'operazione addPage()
, Flash Player genera un'eccezione alla successiva chiamata a addPage()
.
Se passate un valore per il parametro printArea
, le coordinate x
e y
del rettangolo printArea
vengono mappate all'angolo superiore sinistro (coordinate 0, 0) dell'area stampabile della pagina. Le proprietà di sola lettura pageHeight
e pageWidth
descrivono l'area stampabile impostata da start()
. Dal momento che la pagina stampata è allineata all'angolo superiore sinistro dell'area stampabile della pagina, se l'area definita in printArea
è superiore all'area stampabile della pagina, la pagina stampata viene troncata sul lato destro e/o inferiore dell'area definita da printArea
. In Flash Professional, se non passate un valore per printArea
e lo stage è più grande dell'area stampabile, viene applicato lo stesso tipo di troncatura. In Flex or Flash Builder, se non passate un valore per printArea
e lo schermo è più grande dell'area stampabile, viene applicato lo stesso tipo di troncatura.
Per modificare in scala un oggetto Sprite prima della stampa, impostatene le proprietà (vedete flash.display.DisplayObject.scaleX
e flash.display.DisplayObject.scaleY
) prima di chiamare questo metodo e impostarle di nuovo sui rispettivi valori originali dopo la stampa. La scala di un oggetto Sprite non ha alcuna relazione con printArea
. In altre parole, se specificate un'area di stampa di 50 x 50 pixel, vengono stampati 2500 pixel. Se modificate in scala l'oggetto Sprite, vengono stampati gli stessi 2500 pixel ma l'oggetto viene stampato nelle dimensioni modificate in scala.
La funzione di stampa di Flash Player supporta le stampanti PostScript e non PostScript. Le stampanti non PostScript convertono la grafica vettoriale in bitmap.
Parametri
sprite:Sprite — Lo Sprite nel quale si trova il contenuto da stampare.
| |
printArea:Rectangle (default = null ) — Un oggetto Rectangle che specifica l'area da stampare.
La larghezza e l'altezza del rettangolo sono espresse in pixel. L'unità di misura di stampa utilizzata da una stampante è il punto. I punti hanno dimensioni fisiche fisse (1/72 di pollice), mentre le dimensioni di un pixel dipendono dalla risoluzione specifica dello schermo. Il tasso di conversione tra pixel e punti varia a seconda delle impostazioni della stampante e se l'oggetto Sprite è stato modificato in scala. Un oggetto sprite non modificato in scala largo 72 pixel viene stampato con una larghezza di un pollice, con un punto equivalente a un pixel, indipendentemente dalla risoluzione dello schermo. È possibile utilizzare le seguenti equivalenze per convertire pollici o centimetri in twip o punti (un twip corrisponde a 1/20 di punto):
Se omettete il parametro Se non desiderate specificare un valore per | |
options:PrintJobOptions (default = null ) — Un parametro opzionale che specifica se stampare un'immagine vettoriale o una bitmap. Il valore predefinito è null , che rappresenta una richiesta di stampa vettoriale. Per stampare sprite come bitmap, impostate la proprietà printAsBitmap dell'oggetto PrintJobOptions su true . Per decidere se impostare printAsBitmap su true , ricordate quanto segue:
Se omettete | |
frameNum:int (default = 0 ) — Un numero ottimale che vi consente di specificare quale fotogramma di un oggetto MovieClip deve essere stampato. Se passate un frameNum , su quel fotogramma non viene chiamato ActionScript. Se omettete questo parametro e il parametro sprite è un oggetto MovieClip, viene stampato il fotogramma corrente in sprite .
|
Genera
Error — Genera un'eccezione se non avete chiamato start() o se l'utente annulla il lavoro di stampa.
|
Altri esempi
Elementi API correlati
selectPaperSize | () | metodo |
public function selectPaperSize(paperSize:String):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Imposta il formato carta. I valori accettabili per il parametro paperSize
sono costanti nella classe PaperSize. Una chiamata di questo metodo ha un effetto sulle impostazioni di stampa analogo alla scelta di un formato carta nella finestra di dialogo Imposta pagina o Stampa.
Potete chiamare questo metodo in qualsiasi momento. Chiamatelo prima dell'avvio di un lavoro di stampa per impostare il formato carta predefinito nelle finestre di dialogo Imposta pagine e Stampa. Potete chiamarlo anche mentre è in corso un lavoro di stampa per impostare il formato carta per un intervallo di pagine all'interno di tale lavoro.
import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10);
Parametri
paperSize:String — Il formato carta da utilizzare per le pagine successive del lavoro di stampa
|
Genera
ArgumentError — se il parametro paperSize non è uno dei valori accettabili definiti nella classe PaperSize.
|
Elementi API correlati
send | () | metodo |
public function send():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9. |
Invia pagine in spooling alla stampante dopo chiamate con esito positivo ai metodi start()
o start2()
e addPage()
.
Questo metodo fallisce se la chiamata al metodo start()
o start2()
non riesce oppure se una chiamata al metodo addPage()
genera un'eccezione. Per evitare un errore, verificate che il metodo start()
o start2()
restituisca true
e rilevate le eventuali eccezioni addPage()
prima di chiamare questo metodo. L'esempio seguente illustra come rilevare correttamente gli eventuali errori prima di chiamare questo metodo:
var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.start()) { try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } myPrintJob.send(); }
Altri esempi
Elementi API correlati
showPageSetupDialog | () | metodo |
public function showPageSetupDialog():Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Visualizza la finestra di dialogo Imposta pagina del sistema operativo, se l'ambiente corrente la supporta. Utilizzate la proprietà supportsPageSetupDialog
per determinare se Imposta pagina è supportata.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); }
Boolean — true se l'utente sceglie "OK" nella finestra di dialogo Imposta pagina. Questa operazione indica che alcune proprietà PrintJob potrebbero essere state modificate. Restituisce false se l'utente sceglie "Annulla" nella finestra di dialogo Imposta pagina.
|
Genera
IllegalOperationError — se il sistema non supporta la finestra di dialogo Imposta pagina. Utilizzate la proprietà supportsPageSetupDialog per determinare se Imposta pagina è supportata.
| |
IllegalOperationError — se è attivo un qualunque lavoro di stampa (compreso quello corrente).
|
Elementi API correlati
start | () | metodo |
public function start():Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9., Flash Player 9. |
Visualizza la finestra di dialogo di stampa del sistema operativo e avvia lo spooling. Questa finestra di dialogo consente all'utente di modificare le impostazioni di stampa. Quando il metodo PrintJob.start()
restituisce un valore corretto (l'utente fa clic su OK nella finestra di dialogo di stampa), vengono specificate le seguenti proprietà, che rappresentano le impostazioni di stampa scelte dall'utente:
Proprietà | Tipo | Unità | Note |
---|---|---|---|
PrintJob.paperHeight | Number | Punti | Altezza totale del foglio. |
PrintJob.paperWidth | Number | Punti | Larghezza totale del foglio. |
PrintJob.pageHeight | Number | Punti | Altezza dell'area di stampa effettiva della pagina; i margini impostati dall'utente vengono ignorati. |
PrintJob.pageWidth | Number | Punti | Larghezza dell'area di stampa effettiva della pagina; i margini impostati dall'utente vengono ignorati. |
PrintJob.orientation | String | "portrait" (flash.printing.PrintJobOrientation.PORTRAIT ) o "landscape" (flash.printing.PrintJobOrientation.LANDSCAPE ). |
Nota: se l'utente esce dalla finestra di dialogo di stampa facendo clic su Annulla, le proprietà non vengono specificate.
Dopo che l'utente ha fatto clic su OK nella finestra di dialogo Stampa, Flash Player inizia l'esecuzione dello spooling sul sistema operativo di un lavoro di stampa. Poiché iniziano ad essere visualizzate le informazioni sull'avanzamento della stampa, è necessario eseguire le chiamate a PrintJob.addPage()
e PrintJob.send()
il più presto possibile per inviare le pagine allo spooler. Per formattare la pagina stampata, è possibile utilizzare le proprietà di sola lettura relative all'altezza, alla larghezza e all'orientamento che vengono completate da questo metodo.
Verificate che il metodo restituisca true
(quando l'utente fa clic su OK nella finestra di stampa del sistema operativo) prima di qualsiasi chiamata successiva a PrintJob.addPage()
e PrintJob.send()
:
var myPrintJob:PrintJob = new PrintJob(); if(myPrintJob.start()) { // addPage() and send() statements here }
Per l'istanza PrintJob specificata, se uno dei seguenti intervalli dura più di 15 secondi, la chiamata successiva a PrintJob.start()
restituisce false
:
PrintJob.start()
e il primoPrintJob.addPage()
- Un
PrintJob.addPage()
e il successivoPrintJob.addPage()
- L'ultimo
PrintJob.addPage()
ePrintJob.send()
Boolean — Un valore true se l'utente fa clic su OK quando viene visualizzata la finestra di stampa; false se l'utente fa clic su Annulla o se si verifica un errore.
|
Genera
IllegalOperationError — in AIR 2 o versioni successive, se è attivo un altro oggetto PrintJob
|
Altri esempi
Elementi API correlati
start2 | () | metodo |
public function start2(uiOptions:PrintUIOptions = null, showPrintDialog:Boolean = true):Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Visualizza facoltativamente la finestra di dialogo Stampa del sistema operativo, avvia lo spooling ed eventualmente modifica i valori delle proprietà di sola lettura di PrintJob.
Il parametro uiOptions
consente al chiamante di controllare quali opzioni vengono visualizzate nella finestra di dialogo Stampa. Fate riferimento alla classe PrintUIOptions
. Questo parametro viene ignorato se showPrintDialog
è false.
Anche quando showPrintDialog
è true
, il comportamento di questo metodo può differire rispetto al metodo start()
. In alcuni sistemi operativi, start()
visualizza la finestra di dialogo Imposta pagina, seguita dalla finestra di dialogo Stampa. Al contrario, start2()
non visualizza mai la finestra di dialogo Imposta pagina.
Nell'esempio seguente, le impostazioni di pagina min e max della finestra di dialogo Stampa vengono impostate prima che la finestra venga visualizzata all'utente:
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);
Parametri
uiOptions:PrintUIOptions (default = null ) — Un oggetto che definisce quali opzioni vengono visualizzate nella finestra di dialogo Stampa mostrata all'utente. Se il parametro showPrintDialog è false , questo valore viene ignorato.
| |
showPrintDialog:Boolean (default = true ) — Indica se la finestra di dialogo Stampa viene mostrata o meno all'utente prima dell'avvio del lavoro di stampa
|
Boolean — Un valore true se l'utente fa clic su OK quando viene visualizzata la finestra di dialogo Stampa o se tale finestra di dialogo non viene visualizzata e non sono presenti errori; false se l'utente fa clic su Annulla o se si verificano errori.
|
Genera
IllegalOperationError — Se la finestra di dialogo Impostazione pagina è visualizzata, oppure se un altro lavoro di stampa risulta attivo
|
Elementi API correlati
terminate | () | metodo |
public function terminate():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 2 |
Indica che il lavoro di stampa deve essere terminato senza essere inviato. Utilizzate questo metodo quando un lavoro di stampa è già stato avviato da una chiamata a start()
o start2()
, ma non è opportuno inviare alcuna pagina alla stampante. In genere, terminate()
viene usato solo per risolvere i problemi causati da errori.
Dopo avere chiamato questo metodo, potete riutilizzare un'istanza PrintJob. Se possibile, le impostazioni di stampa del lavoro vengono mantenute per un uso successivo.
addPage()
aggiunge lo sprite a una singola pagina. Il metodo send()
esegue lo spooling della pagina alla stampante.
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
per creare un documento di piccole dimensioni e inviarlo quindi alla stampante. Questa operazione viene eseguita mediante la procedura seguente:
- Dichiarate due variabili del tipo Sprite denominate
sheet1
esheet2
. - Chiamate
init()
, che assegna una nuova istanza Sprite sia asheet1
esheet2
e quindi chiamacreateSheet()
utilizzando argomenti diversi. createSheet()
consente di eseguire le seguenti operazioni:- L'oggetto Sprite passato viene utilizzato per disegnare un rettangolo con uno sfondo grigio chiaro, un bordo nero di un pixel e una larghezza di 100 pixel e un'altezza di 200 pixel con x = 0, y = 0.
- Viene creato un nuovo oggetto TextField denominato
txt
con le stesse dimensioni di Sprite, la proprietà wordWrap impostata sutrue
e la proprietà di testo impostata sul parametro String passato come argomento acreateSheet()
. - Se l'argomento Object passato non è null, creare una nuova istanza Sprite denominata
img
che viene utilizzata per disegnare un rettangolo con le proprietà di coordinate e dimensioni dell'argomento Object passato. Il rettangolo bianco viene aggiunto all'elenco di visualizzazione dell'oggetto Sprite utilizzandoaddChild()
. - L'oggetto TextField
txt
viene aggiunto all'elenco di visualizzazione dell'oggetto Sprite utilizzandoaddChild()
.
- Nella funzione di costruzione viene chiamato il metodo di stampa attivato (non impostato come commento). Poiché i metodi sono molto simili,
printOnePerPage()
è descritto di seguito. printOnePerPage()
consente di eseguire le seguenti operazioni:- Dichiarate un nuovo oggetto PrintJob denominato
pj
epagesToPrint
come uint. - Aprite la finestra di dialogo relativa alla stampa nativa del sistema operativo e attendete che l'utente faccia clic su
OK
. - Verificate l'orientamento e, se è selezionato Landscape (orizzontale), generate un errore e uscite.
- Impostate l'altezza e la larghezza della pagina per
sheet1
esheet2
. - Inviate
sheet1
esheet2
allo spooler di stampa utilizzandoaddPage()
. - Se il numero di pagine da stampare è > 0, stampate tutte le pagine elaborate dallo spooler.
- Dichiarate un nuovo oggetto PrintJob denominato
- Viene chiamato il metodo
draw()
, che ridimensiona le due proprietà Sprite per adattarle allo stage e riposizionasheet2
in modo che si trovi immediatamente a destra disheet1
.
Nota: la funzione di costruzione è impostata in modo che sia possibile selezionare uno dei tre metodi di stampa (un foglio per pagina, due fogli per pagina o stampa nella metà superiore della pagina), in base alle preferenze. Questo esempio non funzionerà correttamente, a meno che non vengano disattivati due metodi di stampa specifici utilizzando commenti nel codice. L'esempio è impostato in modo che venga chiamato printOnePerPage()
.
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; } } }
Tue Jun 12 2018, 02:44 PM Z