Paket | flash.printing |
Klass | public class PrintJob |
Arv | PrintJob EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Stöd för mobilwebbläsare: Den här klassen stöds inte i mobilwebbläsare.
Stöd för AIR-profiler: Den här funktionen stöds på alla operativsystem för datorer, men inte på mobilenheter eller enheter med AIR for TV. Du kan testa stödet vid körning med egenskapen PrintJob.isSupported
. På sidan om stöd för AIR-profiler hittar du mer information om API-stöd för flera profiler.
Använd konstruktorn PrintJob()
när du skapar en utskrift.
Med egenskaperna i PrintJob-klassen får du dessutom tillgång till användarens skrivarinställningar, till exempel sidhöjd, sidbredd och bildorientering, och du kan konfigurera dokumentet så att Flash-innehåll som passar skrivarinställningarna formateras dynamiskt.
Obs! ActionScript 3.0 begränsar inte ett PrintJob-objekt till en enda bildruta (som i tidigare versioner av ActionScript). Men eftersom operativsystemet visar utskriftsstatusinformation för användaren efter att användaren har klickat på OK i utskriftsdialogrutan, bör du anropa PrintJob.addPage()
och PrintJob.send()
så fort som möjligt och skicka sidor till mellanlagraren. En fördröjning som når bildrutan som innehåller anropet PrintJob.send()
försenar utskriftsprocessen.
Dessutom används en skripttimeout på 15 sekunder med följande intervaller:
-
PrintJob.start()
och den förstaPrintJob.addPage()
-
PrintJob.addPage()
och nästaPrintJob.addPage()
- Den sista
PrintJob.addPage()
ochPrintJob.send()
Om något av ovanstående intervall överskrider 15 sekunder returnerar nästa anrop till PrintJob.start()
för PrintJob-instansen false
. Nästa PrintJob.addPage()
för PrintJob-instansen utlöser ett körningsfel i Flash Player eller Adobe AIR.
Egenskap | Definieras med | ||
---|---|---|---|
active : Boolean [statisk] [skrivskyddad]
Anger om ett utskriftsjobb är aktivt. | PrintJob | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
copies : int
Antalet kopior som skrivarsystemet skriver ut för efterföljande sidor som läggs till i utskriftsjobbet. | PrintJob | ||
firstPage : int [skrivskyddad]
Sidnumret för den första sidan i intervallet som användaren angett i operativsystemets utskriftsdialogruta. | PrintJob | ||
isColor : Boolean [skrivskyddad]
Anger om den valda skrivaren skriver ut med färg (true) eller gråskala (false) med de aktuella utskriftsinställningarna. | PrintJob | ||
isSupported : Boolean [statisk] [skrivskyddad]
Anger om klassen PrintJob stöds på den aktuella plattformen (true) eller inte (false). | PrintJob | ||
jobName : String
Namnet eller titeln på utskriftsjobbet. | PrintJob | ||
lastPage : int [skrivskyddad]
Sidnumret för den sista sidan i intervallet som användaren angett i operativsystemets utskriftsdialogruta. | PrintJob | ||
maxPixelsPerInch : Number [skrivskyddad]
Den fysiska upplösningen för den valda skrivaren i bildpunkter per tum. | PrintJob | ||
orientation : String
Bildorienteringen för utskrift. | PrintJob | ||
pageHeight : int [skrivskyddad]
Höjden (i punkter) på det största område som kan centreras på det aktuella utskrivbara området på sidan. | PrintJob | ||
pageWidth : int [skrivskyddad]
Bredden (i punkter) på det största område som kan centreras på det aktuella utskrivbara området på sidan. | PrintJob | ||
paperArea : Rectangle [skrivskyddad]
Utskriftsmediets gränser i punkter. | PrintJob | ||
paperHeight : int [skrivskyddad]
Den sammanlagda pappershöjden i pixlar. | PrintJob | ||
paperWidth : int [skrivskyddad]
Den sammanlagda pappersbredden i pixlar. | PrintJob | ||
printableArea : Rectangle [skrivskyddad]
Gränserna för utskriftsmediets utskrivbara område i punkter. | PrintJob | ||
printer : String
Hämtar eller anger den skrivare som ska användas för den aktuella utskriften. | PrintJob | ||
printers : Vector.<String> [statisk] [skrivskyddad]
Tillhandahåller en lista över tillgängliga skrivare som strängnamnsvärden. | PrintJob | ||
supportsPageSetupDialog : Boolean [statisk] [skrivskyddad]
Anger om Flash-miljön har stöd för en separat utskriftsdialogruta. | PrintJob |
Metod | Definieras med | ||
---|---|---|---|
PrintJob()
Skapar ett PrintJob-objekt som du kan använda för att skriva ut en eller flera sidor. | PrintJob | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Skickar det angivna Sprite-objektet som en enda sida till mellanlagraren för utskrift. | PrintJob | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Anger pappersstorleken. | PrintJob | ||
Skickar mellanlagrade sidor till skrivaren efter det att metoderna start() eller start2() och addPage() har anropats. | PrintJob | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Visar operativsystemets dialogruta Utskriftsformat, om den aktuella miljön stöder den. | PrintJob | ||
Visar operativsystemets dialogruta Skriv ut och startar mellanlagring. | PrintJob | ||
Visar operativsystemets utskriftsdialogruta, startar mellanlagring och ändrar eventuellt de skrivskyddade egenskapsvärdena för PrintJob-objektet. | PrintJob | ||
Talar om att utskriften ska avslutas utan att skickas. | PrintJob | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
active | egenskap |
active:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Anger om ett utskriftsjobb är aktivt. Ett utskriftsjobb är aktivt (egenskapsvärdet är true
) i följande två fall:
- Dialogrutan Utskriftsformat eller Skriv ut visas.
- Metoden
start()
ellerstart2()
har anropats med returvärdettrue
och metodensend()
ellerterminate()
har inte anropats.
Ett undantag utlöses om egenskapen är true
och du anropar metoden showPageSetupDialog()
, start()
eller start2()
.
Implementering
public static function get active():Boolean
Relaterade API-element
copies | egenskap |
copies:int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Antalet kopior som skrivarsystemet skriver ut för efterföljande sidor som läggs till i utskriftsjobbet. Värdet är det antal som användaren anger i operativsystemets utskriftsdialogruta. Om antalet kopior inte visades i utskriftsdialogrutan eller om dialogrutan inte visades för användaren, är värdet 1 (om det inte har ändrats av programkoden).
Implementering
public function get copies():int
public function set copies(value:int):void
firstPage | egenskap |
firstPage:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Sidnumret för den första sidan i intervallet som användaren angett i operativsystemets utskriftsdialogruta. Egenskapen är noll om användaren begär att alla sidor ska skrivas ut, om sidintervallet inte visades i utskriftsdialogrutan eller om utskriftsdialogrutan inte visades för användaren.
Implementering
public function get firstPage():int
isColor | egenskap |
isColor:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Anger om den valda skrivaren skriver ut med färg (true)
eller gråskala (false)
med de aktuella utskriftsinställningarna.
Värdet är true
om ett värde för färg eller gråskala inte kan fastställas.
Implementering
public function get isColor():Boolean
isSupported | egenskap |
jobName | egenskap |
jobName:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Namnet eller titeln på utskriftsjobbet. Jobbnamnet används vanligen av operativsystemet som jobbets namn i utskriftskön eller som standardnamn för ett jobb som skrivs till en fil.
Om du inte har anropat start()
eller start2()
och inte har angett ett värde för egenskapen är dess värde null
.
Ställ in den här egenskapen innan du anropar metoden start()
eller start2()
för varje utskriftsjobb som verkställs med PrintJob-instansen.
Standardvärdet är null
.
Implementering
public function get jobName():String
public function set jobName(value:String):void
Utlöser
IllegalOperationError — om koden försöker ställa in egenskapen när active -egenskapen är true .
|
lastPage | egenskap |
lastPage:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Sidnumret för den sista sidan i intervallet som användaren angett i operativsystemets utskriftsdialogruta. Egenskapen är noll om användaren begär att alla sidor ska skrivas ut, om sidintervallet inte visades i utskriftsdialogrutan eller om utskriftsdialogrutan inte visades för användaren.
Implementering
public function get lastPage():int
maxPixelsPerInch | egenskap |
maxPixelsPerInch:Number
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Den fysiska upplösningen för den valda skrivaren i bildpunkter per tum. Värdet beräknas beroende på de aktuella utskriftsinställningarna som rapporteras av operativsystemet.
Ett standarvärde anges om upplösningen inte kan fastställas. Standardvärdet är 600 ppi i Linux och 360 ppi i Mac OS. I Windows är skrivarupplösningen alltid tillgänglig, varför inget standardvärde behövs.
Implementering
public function get maxPixelsPerInch():Number
orientation | egenskap |
orientation:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9 - read only, AIR 1.0 - read only, AIR 2 - read-write |
Bildorienteringen för utskrift. De godtagbara värdena är definierade som konstanter i klassen PrintJobOrientation.
Obs! I AIR 2 och senare ska den här egenskapen anges innan ett utskriftsjobb startas för att ställa in standardorienteringen i dialogrutorna Utskriftsformat och Skriv ut. Ställ in egenskapen när ett utskriftsjobb pågår (efter det att start()
eller start2()
anropats) för att ställa in orienteringen för ett intervall av sidor i jobbet.
Implementering
public function get orientation():String
public function set orientation(value:String):void
Relaterade API-element
pageHeight | egenskap |
pageHeight:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9. |
Höjden (i punkter) på det största område som kan centreras på det aktuella utskrivbara området på sidan. Marginaler som ställts in av användaren ignoreras. Den här egenskapen är bara tillgänglig när metoden PrintJob.start()
har anropats.
Obs! I AIR 2 och senare har den här egenskapen tagits bort. Använd i stället printableArea
, vilket mäter det utskrivbara området i bråkdelar och beskriver ocentrerade utskrivbara områden korrekt.
Implementering
public function get pageHeight():int
Relaterade API-element
pageWidth | egenskap |
pageWidth:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 9, AIR 1.0 |
Bredden (i punkter) på det största område som kan centreras på det aktuella utskrivbara området på sidan. Marginaler som ställts in av användaren ignoreras. Den här egenskapen är bara tillgänglig när metoden PrintJob.start()
har anropats.
Obs! I AIR 2 och senare har den här egenskapen tagits bort. Använd i stället printableArea
, vilket mäter det utskrivbara området i bråkdelar och beskriver ocentrerade utskrivbara områden korrekt.
Implementering
public function get pageWidth():int
Relaterade API-element
paperArea | egenskap |
paperHeight | egenskap |
paperHeight:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9. |
Den sammanlagda pappershöjden i pixlar. Den här egenskapen är bara tillgänglig när metoden PrintJob.start()
har anropats.
Obs! I AIR 2 och senare har den här egenskapen tagits bort. Använd i stället paperArea
, vilket mäter pappersstorleken i bråkdelar.
Implementering
public function get paperHeight():int
Relaterade API-element
paperWidth | egenskap |
paperWidth:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9. |
Den sammanlagda pappersbredden i pixlar. Den här egenskapen är bara tillgänglig när metoden PrintJob.start()
har anropats.
Obs! I AIR 2 och senare har den här egenskapen tagits bort. Använd i stället paperArea
, vilket mäter pappersstorleken i bråkdelar.
Implementering
public function get paperWidth():int
Relaterade API-element
printableArea | egenskap |
printableArea:Rectangle
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Gränserna för utskriftsmediets utskrivbara område i punkter. Värdet använder samma koordinatsystem som används för efterföljande addPage()
-anrop.
Implementering
public function get printableArea():Rectangle
printer | egenskap |
printer:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Hämtar eller anger den skrivare som ska användas för den aktuella utskriften. Den sträng som skickas till set-metoden och returneras av get-metoden bör matcha en av strängarna i den array som returneras av metoden printers()
. Ställ in värdet på null
för att ange att standardskrivaren ska användas. Den här egenskapens värde är null
i operativsystem där standardskrivaren inte går att bestämma.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start();
Ett försök att välja skrivaren utförs omedelbart när värdet anges för den här egenskapen. Egenskapens värde återgår till det föregående värdet om det inte går att välja skrivare. Du kan avgöra om inställningen av skrivarvärdet fungerade genom att avläsa värdet efter skrivarinställningen och kontrollera att värdet motsvarar det angivna.
Det går inte att ändra egenskapen printer
för ett aktivt utskriftsjobb. Försök ändra det efter att metoden start()
eller start2()
har anropats och innan anropet av send()
eller terminate()
misslyckas.
Implementering
public function get printer():String
public function set printer(value:String):void
printers | egenskap |
printers:Vector.<String>
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Tillhandahåller en lista över tillgängliga skrivare som strängnamnsvärden. Listan genereras inte förrän funktionen anropas. Om inga skrivare är tillgängliga eller om systemet saknar stöd för utskrift är värdet null
. Om systemet har stöd för utskrift men inte kan returnera en lista över skrivare är värdet en vektor med ett element (dess length
-egenskap är 1). I så fall är det enda elementet antingen det faktiska skrivarnamnet eller ett standardnamn, om det inte går att fastställa det aktuella skrivarnamnet.
Implementering
public static function get printers():Vector.<String>
supportsPageSetupDialog | egenskap |
supportsPageSetupDialog:Boolean
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Anger om Flash-miljön har stöd för en separat utskriftsdialogruta. Om egenskapen är true
kan du anropa metoden showPageSetupDialog()
för att visa systemets utskriftsdialogruta.
Implementering
public static function get supportsPageSetupDialog():Boolean
Relaterade API-element
PrintJob | () | Konstruktor |
public function PrintJob()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Skapar ett PrintJob-objekt som du kan använda för att skriva ut en eller flera sidor. När du har skapat ett PrintJob-objekt måste du (i följande ordning) använda metoderna PrintJob.start()
, PrintJob.addPage()
och sedan PrintJob.send()
för att skicka utskriften till skrivaren.
Du kan t.ex. ersätta platshållartexten [params]
för metodanropen myPrintJob.addPage()
med anpassade parametrar som i följande kod:
// 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(); }
I AIR 2 eller senare kan du skapa och använda flera PrintJob-instanser. Egenskaper som anges med instansen PrintJob sparas när utskriften är klar. Det gör att du kan återanvända en PrintJob-instans och behålla användarens valda utskriftsinställningar samtidigt som du erbjuder andra utskriftsinställningar för annat innehåll i programmet. För innehåll i Flash Player och AIR före version 2 kan du inte skapa ytterligare ett PrintJob-objekt om det första fortfarande är aktivt. Om du skapar ett andra PrintJob-objekt (genom att anropa new PrintJob()
) medan det första PrintJob-objektet fortfarande är aktivt, skapas inte det andra PrintJob-objektet. Undersök därför värdet myPrintJob
innan du skapar ett andra PrintJob-objekt.
Utlöser
IllegalOperationError — I Flash Player och AIR före AIR 2 utlöses ett undantag om ett annat PrintJob-objekt fortfarande är aktivt.
|
Relaterade API-element
addPage | () | metod |
public function addPage(sprite:Sprite, printArea:Rectangle = null, options:PrintJobOptions = null, frameNum:int = 0):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9. |
Skickar det angivna Sprite-objektet som en enda sida till mellanlagraren för utskrift. Innan du använder den här metoden måste du skapa ett PrintJob-objekt och sedan använda start()
eller start2()
. När du sedan har anropat addPage()
en eller flera gånger för en utskrift, använder du send()
för att skicka mellanlagrade sidor till skrivaren. När du har skapat ett PrintJob-objekt måste du alltså (i följande ordning) använda start()
eller start2()
, addPage()
och sedan send()
för att skicka utskriften till skrivaren. Du kan anropa addPage()
flera gånger efter ett anrop till start()
för att skriva ut flera sidor i ett utskriftsjobb.
Om addPage()
gör att Flash Player utlöser ett undantag (om du t.ex. inte har anropat start()
eller användaren avbryter utskriften), kommer efterföljande anrop till addPage()
att misslyckas. Om föregående anrop till addPage()
genomfördes skickar däremot det avslutande send()
-kommandot de mellanlagrade sidorna till skrivaren.
Om utskriften tar mer än 15 sekunder för att genomföra en addPage()
-åtgärd utlöser Flash Player ett undantag vid nästa addPage()
-anrop.
Om du skickar ett värde för printArea
-parametern, mappas koordinaterna x
och y
för printArea
-rektangeln till det övre vänstra hörnet (koordinaterna 0, 0) på sidans utskrivbara område. De skrivskyddade koordinaterna pageHeight
och pageWidth
beskriver utskriftsområdet som angetts med start()
. Eftersom utskriften justeras med det övre vänstra hörnet på sidans utskrivbara område om området som definieras i printArea
är större än sidans utskrivbara område, beskärs utskriften till höger och nedtill (eller både och) i det område som definierats av printArea
. Om du inte skickat ett värde för printArea
i Flash Professional och scenen är större än det utskrivbara området utförs samma typ av beskärning. Om du inte skickar ett värde för printArea
i Flex eller Flash Builder och skärmen är större än det utskrivbara området utförs samma typ av beskärning.
Om du vill skala ett Sprite-objekt innan du skriver ut det, anger du skalningsegenskaperna (se flash.display.DisplayObject.scaleX
och flash.display.DisplayObject.scaleY
) innan du anropar den här metoden, och återställer deras ursprungliga värden när utskriften är klar. Sprite-objektets skala har ingenting med printArea
att göra. Det innebär att om du anger att utskriften ska vara 50 x 50 pixlar, skrivs 2 500 pixlar ut. Om du har skalat Sprite-objektet skrivs samma 2 500 pixlar ut, men Sprite-objektet skrivs ut i den skalade storleken.
Utskriftsfunktionen i Flash Player stöder både PostScript-skrivare och andra skrivare. Andra skrivare än PostScript-skrivare konverterar vektorer till bitmappar.
Parametrar
sprite:Sprite — Den sprite som innehåller innehållet som ska skrivas ut.
| |
printArea:Rectangle (default = null ) — Ett Rectangle-objekt som anger det område som ska skrivas ut.
Rektangelns bredd och höjd är pixelvärden. För en skrivare används punkter som utskriftsmåttenheter. Punkter har fast fysisk storlek (1/72 tum) medan en pixel storlek beror på bildskärmens upplösning. Därför beror konverteringsförhållandet mellan pixlar och punkter på skrivarinställningarna och om spriten är skalad. En oskalad sprite som är 72 pixlar bred skrivs ut en tum bred, där en punkt är lika med en pixel, oavsett skärmens upplösning. Du kan konvertera tum eller centimeter till twip eller punkter (en twip är 1/20 punkt) med följande ekvivalenser:
Om du utelämnar parametern Om du inte vill ange ett värde för | |
options:PrintJobOptions (default = null ) — En valfri parameter som anger om målet ska skrivas ut som vektorgrafik eller bitmapp. Standardvärdet är null vilket är en begäran om vektorutskrift. Om du vill skriva ut sprite som bitmapp anger du egenskapen printAsBitmap i PrintJobOptions-objektet till true . Kom ihåg följande rekommendationer när du avgör om printAsBitmap ska ställas in påtrue :
Om | |
frameNum:int (default = 0 ) — Ett valfritt nummer som gör att du kan ange vilken bildruta i ett MovieClip-objekt som ska skrivas ut. ActionScript aktiveras inte för bildrutan om du skickar frameNum . Om du utelämnar parametern och sprite -parametern är ett MovieClip-objekt, skrivs den aktuella bildrutan för denna sprite ut.
|
Utlöser
Error — Utlöser ett undantag om du inte har anropat start() eller om användaren avbryter utskriften
|
Relaterade API-element
selectPaperSize | () | metod |
public function selectPaperSize(paperSize:String):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Anger pappersstorleken. De godkända värdena för parametern paperSize
är konstanter i klassen PaperSize. Utskriftsinställningarna påverkas som om användaren väljer ett pappersformat i dialogrutorna Utskriftsformat eller Skriv ut om den här metoden anropas.
Du kan anropa metoden när som helst. Anropa den här metoden innan ett utskriftsjobb startas för att ställa in standardpappersformatet i dialogrutorna Utskriftsformat och Skriv ut. Anropa den här metoden under en pågående utskrift för att ange pappersformat för ett sidintervall i jobbet.
import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10);
Parametrar
paperSize:String — Pappersstorleken som ska användas för de efterföljande sidorna i utskriften.
|
Utlöser
ArgumentError — om parametern paperSize inte är ett av de godkända värdena som definierats i klassen PaperSize.
|
Relaterade API-element
send | () | metod |
public function send():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9. |
Skickar mellanlagrade sidor till skrivaren efter det att metoderna start()
eller start2()
och addPage()
har anropats.
Metoden fungerar inte om anropet till metoderna start()
eller start2()
misslyckas eller om ett anrop till metoden addPage()
utlöser ett undantag. För att undvika fel ska du kontrollera att metoden start()
eller start2()
returnerar true
och fånga upp eventuella addPage()
-undantag innan metoden anropas. Exemplet som följer visar hur du kontrollerar efter fel innan metoden anropas:
var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.start()) { try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } myPrintJob.send(); }
Relaterade API-element
showPageSetupDialog | () | metod |
public function showPageSetupDialog():Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Visar operativsystemets dialogruta Utskriftsformat, om den aktuella miljön stöder den. Använd egenskapen supportsPageSetupDialog
för att avgöra om Utskriftsformat stöds.
import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); }
Boolean — true om användaren väljer "OK" i dialogrutan Utskriftsformat. Det anger att vissa PrintJob-egenskaper kanske har ändrats. Returnerar false om användaren väljer "Avbryt" i dialogrutan Utskriftsformat.
|
Utlöser
IllegalOperationError — om systemet inte har stöd för Utskriftsformat. Använd egenskapen supportsPageSetupDialog för att avgöra om Utskriftsformat stöds.
| |
IllegalOperationError — om ett utskriftsjobb (inklusive det aktuella) är aktivt.
|
Relaterade API-element
start | () | metod |
public function start():Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9., Flash Player 9. |
Visar operativsystemets dialogruta Skriv ut och startar mellanlagring. I dialogrutan för utskrift kan användaren ändra utskriftsinställningar. När metoden PrintJob.start()
returneras (användaren klickar på OK i utskriftsdialogrutan) fylls följande egenskaper i. De representerar användarens valda utskriftsinställningar:
Egenskap | Typ | Enheter | Anteckningar |
---|---|---|---|
PrintJob.paperHeight | Nummer | Punkter | Total pappershöjd. |
PrintJob.paperWidth | Nummer | Punkter | Total pappersbredd. |
PrintJob.pageHeight | Nummer | Punkter | Höjden på det faktiska utskrivbara området på sidan. Marginaler som angetts av användaren ignoreras. |
PrintJob.pageWidth | Nummer | Punkter | Bredden på det faktiska utskrivbara området på sidan. Marginaler som angetts av användaren ignoreras. |
PrintJob.orientation | String | "portrait" (flash.printing.PrintJobOrientation.PORTRAIT ) eller "landscape" (flash.printing.PrintJobOrientation.LANDSCAPE ). |
Obs! Om användaren avbryter utskriftsdialogrutan fylls inte egenskaperna i.
När användaren klickar på OK i dialogrutan Skriv ut börjar spelaren mellanlagra utskriften till operativsystemet. Eftersom operativsystemet sedan börjar visa utskriftsinformation för användaren, bör du anropa PrintJob.addPage()
och PrintJob.send()
så fort som möjligt och skicka sidor till mellanlagraren. Du kan använda de skrivskyddade egenskaperna för höjden, bredden och orienteringen som fylls i av metoden för att formatera utskriften.
Testa och se om den här metoden returnerar true
(när användaren klickar på OK i operativsystemets utskriftsdialogruta) före eventuella efterföljande anrop till PrintJob.addPage()
ochPrintJob.send()
:
var myPrintJob:PrintJob = new PrintJob(); if(myPrintJob.start()) { // addPage() and send() statements here }
Om något av följande intervall varar mer än 15 sekunder för den givna PrintJob-instansen, returnerar nästa anrop till PrintJob.start()
false
.
PrintJob.start()
och den förstaPrintJob.addPage()
- En
PrintJob.addPage()
och nästaPrintJob.addPage()
- Den sista
PrintJob.addPage()
ochPrintJob.send()
Boolean — Värdet true om användaren klickar på OK när utskriftsdialogrutan visas, och false om användaren klickar på Avbryt om ett fel uppstår.
|
Utlöser
IllegalOperationError — i AIR 2 eller senare om ett annat PrintJob är aktivt
|
Relaterade API-element
start2 | () | metod |
public function start2(uiOptions:PrintUIOptions = null, showPrintDialog:Boolean = true):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Visar operativsystemets utskriftsdialogruta, startar mellanlagring och ändrar eventuellt de skrivskyddade egenskapsvärdena för PrintJob-objektet.
Med parametern uiOptions
kan anroparen styra vilka alternativ som visas i dialogrutan Skriv ut. Läs mer i avsnittet om klassen PrintUIOptions
. Den här parametern ignoreras om showPrintDialog
är false.
Även när showPrintDialog
är true
kan den här metodens beteende skilja sig från start()
-metoden. På vissa operativsystem visar start()
dialogrutan Utskriftsformat följt av dialogrutan Skriv ut. Däremot visar start2()
aldrig dialogrutan Utskriftsformat.
I exemplet som följer anges minimala och maximala sidinställningar i dialogrutan Skriv ut innan dialogrutan visas för användaren:
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);
Parametrar
uiOptions:PrintUIOptions (default = null ) — Ett objekt som anger vilka alternativ som visas i dialogrutan Skriv ut som användaren ser. Värdet ignoreras om parametern showPrintDialog är false .
| |
showPrintDialog:Boolean (default = true ) — Om dialogrutan Skriv ut visas för användaren innan utskriftsjobbet startas eller inte
|
Boolean — Värdet är true om användaren klickar på OK i dialogrutan Skriv ut eller om dialogrutan Skriv ut inte visas och inget fel inträffar. Värdet är false om användaren klickar på Avbryt eller om ett fel inträffar.
|
Utlöser
IllegalOperationError — Om dialogrutan Utskriftsformat visas eller om ett annat utskriftsjobb är aktivt.
|
Relaterade API-element
terminate | () | metod |
public function terminate():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 2 |
Talar om att utskriften ska avslutas utan att skickas. Använd den här metoden när ett utskriftsjobb redan har initierats av ett anrop till start()
eller start2()
, men det inte är lämpligt att skicka sidor till skrivaren. terminate()
används oftast bara för återställning efter fel.
Instansen PrintJob kan användas igen efter det att metoden har anropats. Jobbets utskriftsinställningar sparas för framtida bruk om möjligt.
addPage()
till sprite som en enda sida. Metoden send()
buffrar sidan till skrivaren.
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
-klassen för att skapa ett litet dokument och sedan skicka dokumentet till skrivaren. Detta visas i följande steg:
- Deklarera två variabler av typen Sprite med namnen
sheet1
ochsheet2
. - Anropa
init()
som kopplar en ny Sprite-instans till bådesheet1
ochsheet2
och sedan anroparcreateSheet()
med andra argument. createSheet()
fungerar så här:- Det Sprite-objekt som skickats används för att rita en rektangel med ljusgrå bakgrund, en svart kant med en pixel och som är 100 pixlar bred gånger 200 pixlar hög vid x = 0, y = 0.
- Ett nytt TextField-objekt skapas med namnet
txt
som har samma dimensioner som Sprite-objektet, egenskapen wordWrap anges tilltrue
och textegenskapen anges till den sträng som skickades som argument tillcreateSheet()
. - Om det skickade objektargumentet inte är noll skapar du en ny Sprite-instans med namnet
img
som används för att rita en vit rektangel med det skickade objektets koordinats- och måttegenskaper. Den vita rektangeln läggs till i visningslistan för Sprite-objektet med hjälp avaddChild()
. txt
TextField läggs till i visningslistan för Sprite-objektet med hjälp avaddChild()
.
- I konstruktorn anropas den utskriftsmetod som är aktiverad (inte utkommenterad). Eftersom metoderna är likartade beskrivs
printOnePerPage()
nedan. printOnePerPage()
fungerar så här:- Deklarera ett nytt PrintJob-objekt med namnet
pj
ochpagesToPrint
som ett uint-objekt. - Öppna operativsystemets egna utskriftsdialogruta och vänta på att användaren ska klicka på
OK
. - Kontrollera orienteringen. Om Liggande är valt utlöser du ett fel och avslutar.
- Ställ in sidhöjd och sidbredd för
sheet1
ochsheet2
. - Skicka
sheet1
ochsheet2
till mellanlagraren med hjälp avaddPage()
. - Om antalet sidor som ska skrivas ut är > 0, skriver du ut alla mellanlagrade sidor.
- Deklarera ett nytt PrintJob-objekt med namnet
- Metoden
draw()
anropas, vilket ändrar storlek på de två Sprite-egenskaperna så att de passar på scenen, ochsheet2
omplaceras till höger omsheet1
.
Obs! Konstruktorn är inställd så att det går att välja en av tre utskriftsmetoder (ett ark per sida, två ark per sida eller utskrift på sidans övre halva). Det här exemplet fungerar bara om exakt två av utskriftsmetoderna inaktiveras med kodkommentarer. Exemplet bygger på att printOnePerPage()
anropas.
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, 01:40 PM Z