flash.printingPrintUIOptions Mit der PrintUIOptions-Klasse werden Optionen angegeben, die in Druckdialogfeldern für den Benutzer angezeigt werden.Object Mit der PrintUIOptions-Klasse werden Optionen angegeben, die in Druckdialogfeldern für den Benutzer angezeigt werden. Erstellen Sie eine PrintUIOptions-Instanz, legen Sie ihre Eigenschaften fest und übergeben Sie sie als uiOptions-Parameter der PrintJob.showPageSetupDialog()- oder PrintJob.start2()-Methode.

Der folgenden Code verwendet zum Beispiel eine PrintUIOptions-Instanz, um die minimale und maximale Seitenzahl anzugeben, wenn das Dialogfeld „Seite einrichten“ angezeigt wird:

import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.supportsPageSetupDialog) { var uiOpt:PrintUIOptions = new PrintUIOptions(); uiOpt.minPage = 1; uiOpt.maxPage = 3; myPrintJob.showPageSetupDialog(uiOpt); }
PrintJobPrintJob.showPageSetupDialog()PrintJob.start2()PrintUIOptions Erstellt ein neues PrintUIOptions-Objekt. Erstellt ein neues PrintUIOptions-Objekt. Sie übergeben dieses Objekt an den uiOptions-Parameter der PrintJob.showPageSetupDialog()- oder PrintJob.start2()-Methode. PrintJob.showPageSetupDialog()PrintJob.start2()disablePageRange Legt fest, ob der Seitenbereich im Druckdialogfeld deaktiviert ist („true“) oder ob er vom Benutzer geändert werden kann („false“).falseBooleanfalse Legt fest, ob der Seitenbereich im Druckdialogfeld deaktiviert ist (true) oder ob er vom Benutzer geändert werden kann (false). Der Standardwert ist false und gibt an, dass eine keine Beschränkung hinsichtlich der Bearbeitung des Seitenbereichs gibt. maxPage Die höchste Seitenzahl, die der Benutzer im Druckdialogfeld eingeben kann.0uint0 Die höchste Seitenzahl, die der Benutzer im Druckdialogfeld eingeben kann. Der Standardwert ist 0 und gibt an, dass eine keine Beschränkung hinsichtlich der höchsten Seitenzahl gibt. minPage Die niedrigste Seitenzahl, die der Benutzer im Druckdialogfeld eingeben kann.0uint0 Die niedrigste Seitenzahl, die der Benutzer im Druckdialogfeld eingeben kann. Der Standardwert ist 0 und gibt an, dass eine keine Beschränkung hinsichtlich der niedrigsten Seitenzahl gibt.
PrintMethod Diese Klasse stellt Werte für die PrintJobOptions.printMethod-Eigenschaft bereit, um die Methode für das Drucken einer Seite anzugeben.Object Diese Klasse stellt Werte für die PrintJobOptions.printMethod-Eigenschaft bereit, um die Methode für das Drucken einer Seite anzugeben. PrintJobOptions.printMethodAUTO Automatische Auswahl der besten Methode für den Druckvorgang.autoString Automatische Auswahl der besten Methode für den Druckvorgang. Dieser Wert zeigt an, dass Vektor- oder Bitmapdruck basierend auf dem zu druckenden Inhalt automatisch gewählt wird. Vektordruck wird verwendet, wenn der Inhalt zuverlässig mit dieser Methode gedruckt werden kann. Wenn Transparenz oder bestimmte andere Effekte vorhanden sind, wird stattdessen Bitmapdruck verwendet.

Diese Konstante wird mit der Eigenschaft PrintJobOptions.printMethod verwendet. Verwenden Sie die Syntax PrintMethod.AUTO.

PrintJobOptions.printMethodVECTORBITMAP
BITMAP Die Bitmapmethode für den Druckvorgang.bitmapString Die Bitmapmethode für den Druckvorgang.

Diese Konstante wird mit der Eigenschaft PrintJobOptions.printMethod verwendet. Verwenden Sie die Syntax PrintMethod.BITMAP.

PrintJobOptions.printMethodVECTORAUTO
VECTOR Die Vektormethode für den Druckvorgang.vectorString Die Vektormethode für den Druckvorgang.

Diese Konstante wird mit der Eigenschaft PrintJobOptions.printMethod verwendet. Verwenden Sie die Syntax PrintMethod.VECTOR.

PrintJobOptions.printMethodBITMAPAUTO
PrintJobOptions Die PrintJobOptions-Klasse enthält Eigenschaften, die mit dem options-Parameter der PrintJob.addPage()-Methode verwendet werden.Object Die PrintJobOptions-Klasse enthält Eigenschaften, die mit dem options-Parameter der PrintJob.addPage()-Methode verwendet werden. Weitere Informationen zu addPage() finden Sie im Abschnitt zur PrintJob-Klasse. PrintJobPrintJob.addPage()PrintJobOptions Erstellt ein neues PrintJobOptions-Objekt.printAsBitmapBooleanfalseBeim Wert true wird dieses Objekt als Bitmap gedruckt. Beim false wird dieses Objekt als Vektor gedruckt.

Wenn der zu druckende Inhalt ein Bitmapbild enthält, setzen Sie die printAsBitmap-Eigenschaft auf true, um Alphatransparenz und Farbeffekte einzuschließen. Verwenden Sie diesen Parameter nicht, wenn der Inhalt keine Bitmapbilder enthält. Dadurch wird der Inhalt im Vektorformat mit einer höheren Qualität gedruckt (dies ist die Standardeinstellung).

Hinweis: Adobe AIR unterstützt das Drucken im Vektorformat unter Mac OS nicht.

Erstellt ein neues PrintJobOptions-Objekt. Übergeben Sie dieses Objekt an den options-Parameter der PrintJob.addPage()-Methode.
PrintJob.addPage()
pixelsPerInch Legt die Auflösung für Bitmaps in Pixel pro Zoll fest.NaNNumber Legt die Auflösung für Bitmaps in Pixel pro Zoll fest. Der Standardwert ist Number.NaN und gibt an, dass die native Druckerauflösung verwendet wird.

Die Einstellung für die Auflösung gilt sowohl für Bitmap- als auch für Vektordruck. Beim Bitmapdruck steuert die Auflösung die Rasterung der gesamten Seite. Beim Vektordruck steuert die Auflösung, wie bestimmte Inhalte, zum Beispiel Bitmaps und Farbverläufe, gerastert werden.

printAsBitmap Gibt an, ob der Inhalt des Druckauftrags als Bitmap oder Vektorgrafik gedruckt wird.falseBoolean Gibt an, ob der Inhalt des Druckauftrags als Bitmap oder Vektorgrafik gedruckt wird. Der Standardwert ist false, d. h. Drucken im Vektorformat.

Wenn der zu druckende Inhalt ein Bitmapbild enthält, setzen Sie die printAsBitmap-Eigenschaft auf true, um Alphatransparenz und Farbeffekte einzuschließen. Drucken Sie den Inhalt im Vektorformat (höhere Qualität, Standardeinstellung), wenn keine Bitmapbilder vorhanden sind.

Verwenden Sie die folgende Syntax, wenn Sie Inhalt beispielsweise als Bitmap drucken möchten:

var options:PrintJobOptions = new PrintJobOptions(); options.printAsBitmap = true; myPrintJob.addPage(mySprite, null, options);

Hinweis: Adobe AIR unterstützt das Drucken im Vektorformat unter Mac OS nicht.

Im folgenden Beispiel wird zuerst ein Bild geladen und in einen rechteckigen Rahmen gesetzt, danach wird das Bild als Bitmap gedruckt.
  1. Der Konstruktor lädt das Bild (image.jpg) mithilfe der Loader- und URLRequest-Objekte. Es wird auch überprüft, ob beim Laden ein Fehler aufgetreten ist. Hier wird davon ausgegangen, dass sich die Datei im selben Verzeichnis wie die SWF-Datei befindet. Bei der Kompilierung der SWF-Datei muss „Sicherheit bei lokaler Wiedergabe“ auf „Nur auf lokale Dateien zugreifen“ eingestellt sein.
  2. Nachdem das Bild geladen wurde (das Ereignis ist abgeschlossen), wird die completeHandler()-Methode aufgerufen.
  3. Die completeHandler()-Methode erstellt ein BitmapData-Objekt und lädt das Bild (Bitmap) in dieses Objekt. Ein Rechteck wird im Sprite-Objekt (frame) gezeichnet, und mit der beginBitmapFill()-Methode wird das Rechteck mit dem Bild (ein BitmapData-Objekt) gefüllt. Ein Matrix-Objekt wird verwendet, um das Bild auf die Größe des Rechtecks zu skalieren. (Beachten Sie, dass das Bild dadurch verzerrt wird. Es wird in diesem Beispiel verwendet, um sicherzustellen, dass das Bild in das Rechteck passt.) Nachdem das Bild das Rechteck ausfüllt, wird die printPage()-Methode aufgerufen.
  4. Die printPage()-Methode erstellt eine neue Instanz des Druckauftrags und startet den Druckvorgang, wodurch das Druckdialogfeld für den Benutzer aufgerufen wird, und füllt die Eigenschaften des Druckauftrags. Die addPage()-Methode enthält die Details des Druckauftrags. Hier ist der Rahmen mit dem Bild (ein Sprite-Objekt) für den Druck als Bitmap und nicht als Vektor eingerichtet. options ist eine Instanz der PrintJobOptions-Klasse, und seine Eigenschaft printAsBitmap ist auf true eingestellt, damit das Bild als Bitmap gedruckt wird (die Standardeinstellung ist „false“).

Hinweis: Für dieses Beispiel wurde nur eine sehr eingeschränkte Fehlerverarbeitung definiert.

package { import flash.display.Sprite; import flash.display.Loader; import flash.display.Bitmap; import flash.display.BitmapData; import flash.printing.PrintJob; import flash.printing.PrintJobOptions; import flash.events.Event; import flash.events.IOErrorEvent; import flash.net.URLRequest; import flash.geom.Matrix; public class printAsBitmapExample extends Sprite { private var frame:Sprite = new Sprite(); private var url:String = "image.jpg"; private var loader:Loader = new Loader(); public function printAsBitmapExample() { var request:URLRequest = new URLRequest(url); loader.load(request); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } private function completeHandler(event:Event):void { var picture:Bitmap = Bitmap(loader.content); var bitmap:BitmapData = picture.bitmapData; var matrix:Matrix = new Matrix(); matrix.scale((200 / bitmap.width), (200 / bitmap.height)); frame.graphics.lineStyle(10); frame.graphics.beginBitmapFill(bitmap, matrix, true); frame.graphics.drawRect(0, 0, 200, 200); frame.graphics.endFill(); addChild(frame); printPage(); } private function ioErrorHandler(event:IOErrorEvent):void { trace("Unable to load the image: " + url); } private function printPage ():void { var myPrintJob:PrintJob = new PrintJob(); var options:PrintJobOptions = new PrintJobOptions(); options.printAsBitmap = true; myPrintJob.start(); try { myPrintJob.addPage(frame, null, options); } catch(e:Error) { trace ("Had problem adding the page to print job: " + e); } try { myPrintJob.send(); } catch (e:Error) { trace ("Had problem printing: " + e); } } } }
PrintJobOptions.printMethod
printMethod Gibt an, dass die Flash-Laufzeitumgebung die am besten geeignete Druckmethode wählt, oder dass der Autor ausdrücklich Vektor- oder Bitmapdruck auswählen möchte.StringDie angegebene printMethod ist keiner der in der PrintMethod-Klasse angegebenen Werte. ArgumentErrorArgumentError Gibt an, dass die Flash-Laufzeitumgebung die am besten geeignete Druckmethode wählt, oder dass der Autor ausdrücklich Vektor- oder Bitmapdruck auswählen möchte.

Setzen Sie die Eigenschaft auf einen der folgenden in der PrintMethod-Klasse definierten Werte:

  • PrintMethod.AUTO: Gibt an, dass Vektor- oder Bitmapdruck basierend auf dem zu druckenden Inhalt automatisch gewählt wird. Vektordruck wird verwendet, wenn der Inhalt zuverlässig mit dieser Methode gedruckt werden kann. Wenn Transparenz oder bestimmte andere Effekte vorhanden sind, wird stattdessen Bitmapdruck verwendet.
  • PrintMethod.VECTOR: Legt den Vektordruck fest. Diese Einstellung entspricht dem Einstellen von printAsBitmap auf false.
  • PrintMethod.BITMAP: Legt den Bitmapdruck fest. Identisch mit dem Einstellen von printAsBitmap auf true.

Wenn printMethod auf einen dieser unterstützten Werte gesetzt ist, wird printAsBitmap ignoriert.

Der Standardwert ist null; die printAsBitmap-Eigenschaft wird verwendet.

PrintJobOptions.printAsBitmapPrintMethod-Klasse
PrintJob Mit der PrintJob-Klasse können Sie Inhalt erstellen und eine oder mehrere Seiten ausdrucken.flash.events:EventDispatcher Mit der PrintJob-Klasse können Sie Inhalt erstellen und eine oder mehrere Seiten ausdrucken. Mit dieser Klasse können Sie sichtbare, dynamische oder externe Inhalte für den Benutzer darstellen, Benutzern ein einzelnes Druckdialogfeld anzeigen sowie nicht skalierte Dokumente so drucken, dass sie den Proportionen der Inhalte entsprechen. Diese Funktion ist insbesondere zum Darstellen und Drucken dynamischer Inhalte, z. B. Datenbankinhalte oder dynamischer Text, nützlich.

Unterstützung für mobile Browser: Diese Klasse wird in mobilen Browsern nicht unterstützt.

Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Mit der PrintJob.isSupported-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

Über den PrintJob()-Konstruktor können Sie einen Druckauftrag erstellen.

Mit den Eigenschaften der PrintJob-Klasse können Sie außerdem die Druckereinstellungen des Benutzers lesen, beispielsweise Höhe und Breite der Seite oder Bildausrichtung. Darüber hinaus können Sie das Dokument so konfigurieren, dass Flash-Inhalte dynamisch formatiert werden, die für die Druckereinstellungen geeignet sind.

Hinweis: In ActionScript 3.0 ist ein PrintJob-Objekt nicht auf ein Bild beschränkt (wie dies in früheren Versionen von ActionScript der Fall war). Da im Betriebssystem jedoch Informationen zum Druckstatus angezeigt werden, nachdem der Benutzer im Druckdialogfeld auf die Schaltfläche „OK“ geklickt hat, sollten Sie möglichst bald PrintJob.addPage() und PrintJob.send() aufrufen, damit Seiten an die Druckwarteschlange gesendet werden. Durch eine Verzögerung im Bild mit dem PrintJob.send()-Aufruf wird auch der Druckvorgang verzögert.

Darüber hinaus gilt ein Skriptzeitlimit von 15 Sekunden für die folgenden Intervalle:

  • PrintJob.start() und die erste PrintJob.addPage()
  • PrintJob.addPage() und die nächste PrintJob.addPage()
  • die letzte PrintJob.addPage() und PrintJob.send()

Wenn bei diesen Intervallen das Limit von 15 Sekunden überschritten wird, wird beim darauf folgenden Aufruf von PrintJob.start() für die PrintJob-Instanz der Wert false zurückgegeben und beim darauf folgenden Aufruf von PrintJob.addPage() für die PrintJob-Instanz im Flash Player oder in Adobe AIR zur Laufzeit eine Ausnahme ausgelöst.

Das folgende Beispiel zeigt die Grundlagen eines Druckvorgangs. Es wird ein neuer PrintJob erstellt; wenn dieser erfolgreich gestartet werden kann, fügt die addPage()-Methode das Sprite als einzelne Seite hinzu. Mit der send()-Methode wird die Seite an den Drucker gespoolt. 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(); } } } Im folgenden Beispiel wird mithilfe der PrintJobExample-Klasse ein kleines Dokument erstellt und an den Drucker gesendet. Dies wird in den folgenden Schritten erreicht:
  1. Deklarieren Sie zwei Variablen vom Typ „Sprite“ mit den Namen sheet1 und sheet2.
  2. Rufen Sie danach init() auf, womit sowohl sheet1 als auch sheet2 eine neue Sprite-Instanz zugewiesen wird. Anschließend wird createSheet() mithilfe von anderen Argumenten aufgerufen.
  3. createSheet() bewirkt Folgendes:
    1. Mithilfe des übergebenen Sprite-Objekts wird bei x = 0 und y = 0 ein Rechteck gezeichnet, und zwar mit einer Breite von 100 Pixel und einer Höhe von 200 Pixel, einem hellgrauen Hintergrund und einem schwarzen Rand mit einer Breite von 1 Pixel.
    2. Es wird ein neues TextField-Objekt mit dem Namen txt erstellt. Es weist die gleichen Abmessungen wie das Sprite-Objekt auf, die wordWrap-Eigenschaft ist auf true gesetzt, und die text-Eigenschaft ist auf den String gesetzt, der als Argument an createSheet() übergeben wurde.
    3. Wenn das übergebene Object-Argument nicht null ist, wird eine neue Sprite-Instanz mit dem Namen img erstellt. Mithilfe dieser Sprite-Instanz und der Koordinaten- und Abmessungseigenschaften des übergebenen „Object“ wird ein weißes Rechteck gezeichnet. Das weiße Rechteck wird zur Anzeigeliste des Sprite-Objekts mithilfe von addChild() hinzugefügt.
    4. Das TextField-Objekt mit dem Namen txt wird zur Anzeigeliste des Sprite-Objekts mithilfe von addChild() hinzugefügt.
  4. Im Konstruktor wird die aktivierte Druckmethode (nicht auskommentiert) aufgerufen. Da sich die Methoden sehr ähneln, wird printOnePerPage() unten beschrieben.
  5. printOnePerPage() bewirkt Folgendes:
    1. Deklariert ein neues PrintJob-Objekt mit dem Namen pj und pagesToPrint als „uint“.
    2. Öffnet das Druckdialogfeld des Betriebssystems, und wartet darauf, dass der Benutzer auf OK klickt.
    3. Überprüft die Ausrichtung und falls „Querformat“ gewählt wurde, wird ein Fehler ausgegeben und der Vorgang beendet.
    4. Stellt die Höhe und Breite der Seite für sheet1 und sheet2 ein.
    5. Sendet sheet1 und sheet2 mithilfe von addPage() an die Druckwarteschlange.
    6. Wenn die Zahl der zu druckenden Seiten größer 0 ist, werden alle Seiten in der Druckwarteschlange gedruckt.
  6. Die draw()-Methode wird aufgerufen, mit der die Größe der beiden Sprite-Eigenschaften geändert wird, sodass es auf die Bühne passt. Außerdem wird sheet2 verschoben, und zwar an eine Position unmittelbar rechts nebensheet1.

Hinweis: Der Konstruktor bietet drei Druckmethoden zur Auswahl an: ein Blatt pro Seite, zwei Blätter pro Seite oder Drucken auf die obere Hälfte der Seite. Dieses Beispiel kann nur korrekt ausgeführt werden, wenn zwei der Druckmethoden mithilfe von Code-Kommentaren deaktiviert wurden. Das Beispiel wurde so eingerichtet, dass printOnePerPage() aufgerufen wird.

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; } } }
Im folgenden Beispiel werden zusätzliche Druckfunktionen demonstriert. Das Beispiel initialisiert die PrintJob-Einstellungen für die Anzahl der Kopien, das Papierformat (Legal) und die Seitenausrichtung (Querformat). Zuerst wird das Dialogfeld „Seite einrichten“ angezeigt, dann beginnt der Druckauftrag, indem das Dialogfeld „Drucken“ angezeigt wird. 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; } } }
PrintJob Erstellt ein PrintJob-Objekt, mit dem Sie eine oder mehrere Seiten drucken können. In Flash Player und AIR-Versionen vor AIR 2 wird ein Ausnahmefehler ausgegeben, wenn noch ein anderes PrintJob-Objekt aktiv ist. IllegalOperationErrorflash.errors:IllegalOperationError Erstellt ein PrintJob-Objekt, mit dem Sie eine oder mehrere Seiten drucken können. Nach dem Erstellen eines PrintJob-Objekts müssen Sie (in der folgenden Reihenfolge) die Methoden PrintJob.start(), PrintJob.addPage() und anschließend PrintJob.send() verwenden, um den Druckauftrag an den Drucker zu senden.

Sie können beispielsweise den Text für den Platzhalter [params] für die Aufrufe der myPrintJob.addPage()-Methode durch benutzerdefinierte Parameter ersetzen, wie dies im folgenden Code dargestellt ist:

 // 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 oder höher können Sie mehrere PrintJob-Instanzen erstellen und verwenden. Die für die PrintJob-Instanz festgelegten Eigenschaften bleiben auch nach Abschluss des Druckvorgangs erhalten. Auf diese Weise können Sie eine PrintJob-Instanz wiederverwenden und die vom Benutzer ausgewählten Druckeinstellungen beibehalten, während für andere Inhalte in Ihrer Anwendung andere Druckeinstellungen angeboten werden können. Für Inhalte in Flash Player und in AIR-Versionen vor AIR 2 können Sie kein zweites PrintJob-Objekt erstellen, während das erste noch aktiv ist. Wenn Sie (durch Aufrufen von new PrintJob()) ein zweites PrintJob-Objekt erstellen möchten, während das erste Objekt noch aktiv ist, wird das zweite PrintJob-Objekt nicht erstellt. Überprüfen Sie daher vor dem Erstellen eines zweiten PrintJob-Objekts den Wert von myPrintJob.

PrintJob.addPage()PrintJob.send()PrintJob.start()
addPage Sendet das angegebene Sprite-Objekt als einzelne Seite an die Druckwarteschlange.Löst eine Ausnahme aus, wenn start() nicht aufgerufen wurde oder der Benutzer den Druckauftrag abbricht. ErrorErrorspriteflash.display:SpriteDas Sprite mit dem zu druckenden Inhalt. printAreaflash.geom:Rectanglenull Ein Rectangle-Objekt, das den Druckbereich angibt.

Die Breite und Höhe eines Rechtecks werden in Pixeln angegeben. Bei Druckern wird die Druckmaßeinheit „Punkt“ verwendet. „Punkt“ ist eine feste Größe (1/72 Zoll), die Größe eines Pixels richtet sich jedoch nach der jeweiligen Auflösung des Bildschirms. Der Umrechnungsfaktor zwischen Pixel und Punkt hängt daher von den Druckereinstellungen und davon ab, ob der Sprite skaliert ist. Ein nicht skalierter Sprite mit einer Breite von 72 Pixel wird mit einer Breite von 1 Zoll gedruckt. Dabei entspricht ein Punkt einem Pixel, unabhängig von der Bildschirmauflösung.

Mit folgenden Gleichungen können Sie Zoll- oder Zentimeterangaben in Twips oder Punkt umrechnen (ein Twip ist 1/20 Punkt):

  • 1 Punkt = 1/72 Zoll = 20 Twip
  • 1 Zoll = 72 Punkt = 1440 Twip
  • 1 cm = 567 Twip

Wenn Sie den Parameter printArea weglassen oder falsch übergeben, wird der gesamte Bereich des sprite-Parameters gedruckt.

Wenn Sie keinen Wert für printArea angeben möchten, aber options oder frameNum mit einem Wert belegen wollen, übergeben Sie den Wert null für printArea.

optionsflash.printing:PrintJobOptionsnullEin optionaler Parameter, der angibt, ob der Ausdruck als Vektor oder Bitmap erfolgt. Der Standardwert ist null, dabei erfolgt der Ausdruck im Vektorformat. Wenn Sie sprite als Bitmap drucken möchten, setzen Sie die printAsBitmap-Eigenschaft des PrintJobOptions-Objekts auf true. Wenn Sie printAsBitmap auf true setzen, beachten Sie folgende Hinweise:
  • Wenn der zu druckende Inhalt ein Bitmapbild enthält, setzen Sie die printAsBitmap-Eigenschaft auf true, um Alphatransparenz und Farbeffekte einzuschließen.
  • Verwenden Sie diesen Parameter nicht, wenn der Inhalt keine Bitmapbilder enthält. Dadurch wird der Inhalt im Vektorformat mit einer höheren Qualität gedruckt.

Wenn Sie options auslassen oder fehlerhaft übergeben, erfolgt der Ausdruck im Vektorformat. Wenn Sie keinen Wert für options angeben möchten, aber frameNumber mit einem Wert belegen wollen, übergeben Sie den Wert null für options.

frameNumint0Eine optionale Zahl, mit der Sie festlegen können, welches Bild eines MovieClip-Objekts gedruckt werden soll. Die Übergabe einer frameNum ruft nicht ActionScript in diesem Bild auf. Wenn Sie diesen Parameter auslassen und es sich bei dem sprite-Parameter um ein MovieClip-Objekt handel, wird das aktuelle Bild in sprite gedruckt.
Sendet das angegebene Sprite-Objekt als einzelne Seite an die Druckwarteschlange. Vor der Verwendung dieser Methode müssen Sie ein PrintJob-Objekt erstellen und dann start() oder start2() verwenden. Senden Sie nach dem einmaligen oder mehrfachen Aufrufen von addPage() für einen Druckauftrag anschließend die Seiten in der Druckwarteschlange mithilfe von send() an den Drucker. Mit anderen Worten: Nach dem Erstellen eines PrintJob-Objekts verwenden Sie (in der folgenden Reihenfolge) die Methoden start() oder start2(), addPage() und dann send(), um den Druckauftrag an den Drucker zu senden. Sie können addPage() mehrere Male nach einem einfachen Aufruf von start() aufrufen, um mehrere Seiten in einem Druckauftrag zu drucken.

Wenn durch addPage() eine Ausnahme in Flash Player ausgelöst wird (z. B. wenn start() nicht aufgerufen wurde oder der Benutzer den Druckauftrag abbricht), schlagen alle nachfolgenden Aufrufe von addPage() fehl. Wenn vorherige Aufrufe von addPage() jedoch erfolgreich waren, sendet der abschließende Befehl send() alle Seiten in der Warteschlange an den Drucker.

Wenn der addPage()-Vorgang im Druckauftrag 15 Sekunden überschreitet, wird beim nächsten Aufruf von addPage() eine Ausnahme in Flash Player ausgelöst.

Wenn Sie einen Wert für den printArea-Parameter übergeben, werden die Koordinaten x und y des printArea-Rechtecks relativ zur oberen linken Ecke (Koordinaten 0, 0) des druckbaren Seitenbereichs festgelegt. Die schreibgeschützten Eigenschaften pageHeight und pageWidth beschreiben den druckbaren Bereich, der von start() festgelegt wird. Da die Ausrichtung des Ausdrucks an der oberen linken Ecke des druckbaren Bereichs der Seite erfolgt, wird er gegebenenfalls rechts und/oder unten in dem durch printArea definierten Bereich beschnitten, wenn der in printArea festgelegte Bereich größer ist als der druckbare Bereich der Seite. Wenn Sie in Flash Professional für printArea keinen Wert übergeben und die Bühne größer als der druckbare Bereich ist, wird der Ausdruck auch zugeschnitten. Wenn Sie in Flex oder Flash Builder für printArea keinen Wert übergeben und der Bildschirm größer als der druckbare Bereich ist, wird der Ausdruck auch beschnitten.

Wenn Sie ein Sprite-Objekt vor dem Drucken skalieren möchten, legen Sie die Skaliereigenschaften (siehe flash.display.DisplayObject.scaleX und flash.display.DisplayObject.scaleY) fest, bevor Sie diese Methode aufrufen, und setzen sie danach auf ihre ursprünglichen Werte zurück. Die Skalierung eines Sprite-Objekts hat keinen Bezug auf printArea. Wenn Sie beispielsweise einen Druckbereich mit der Größe 50 x 50 Pixel festlegen, werden 2500 Pixel gedruckt. Wenn Sie das Sprite-Objekt skalieren, werden dieselben 2500 Pixel in der skalierten Größe gedruckt.

Die Druckfunktion im Flash Player unterstützt PostScript- und Nicht-PostScript-Drucker. Bei Nicht-PostScript-Druckern werden die Vektoren in Bitmaps umgewandelt.

PrintJob.send()PrintJob.start()DisplayObject-Klasse
selectPaperSize Legt das Papierformat fest.wenn der paperSize-Parameter keiner der in der PaperSize-Klasse definierten akzeptablen Werte ist. ArgumentErrorArgumentErrorpaperSizeStringDas Papierformat, das für nachfolgende Seiten im Druckauftrag zu verwenden ist Legt das Papierformat fest. Die akzeptierten Werte für den paperSize-Parameter sind Konstanten in der PaperSize-Klasse. Das Aufrufen dieser Methode beeinflusst die Druckeinstellungen, als ob der Benutzer ein Papierformat im Dialogfeld „Seite einrichten“ oder „Drucken“ auswählt.

Sie können diese Methode jederzeit aufrufen. Rufen Sie diese Methode auf, bevor ein Druckvorgang gestartet wird, um das Standardpapierformat in den Dialogfeldern „Seite einrichten“ oder „Drucken“ festzulegen. Rufen Sie diese Methode auf, während ein Druckvorgang ausgeführt wird, um das Papierformat für einen Seitenbereich innerhalb des Druckauftrags festzulegen.

import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10);
PaperSizePrintJob.send()
send Sendet nach erfolgreichen Aufrufen der Methoden start() oder start2() und addPage()gespoolte Seite an den Drucker. Sendet nach erfolgreichen Aufrufen der Methoden start() oder start2() und addPage() gespoolte Seite an den Drucker.

Diese Methode ist nicht erfolgreich, wenn der Aufruf der start()- oder start2()-Methode fehlschlägt oder wenn ein Aufruf der addPage()-Methode eine Ausnahme ausgibt. Um einen Fehler zu vermeiden, überprüfen Sie, ob die start()- oder start2()-Methode true zurückgibt und fangen Sie alle addPage()-Ausnahmen ab, bevor Sie diese Methode aufrufen. Das folgende Beispiel zeigt, wie vor dem Aufrufen dieser Methode korrekt auf Fehler überprüft wird:

var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.start()) { try { myPrintJob.addPage([params]); } catch(e:Error) { // handle error } myPrintJob.send(); }
PrintJob.addPage()PrintJob.start()PrintJob.start2()
showPageSetupDialog Zeigt das Dialogfeld „Seite einrichten“ des Betriebssystems an, falls dies von der aktuellen Umgebung unterstützt wird.wenn das System „Seite einrichten“ nicht unterstützt. Verwenden Sie die supportsPageSetupDialog-Eigenschaft, um festzustellen, ob das Dialogfeld „Seite einrichten“ unterstützt wird. IllegalOperationErrorflash.errors:IllegalOperationErrorwenn ein Druckauftrag (einschließlich des aktuellen) aktiv ist. IllegalOperationErrorflash.errors:IllegalOperationErrortrue, wenn der Benutzer im Dialogfeld „Seite einrichten“ auf „OK“ klickt. Dies zeigt an, dass einige PrintJob-Eigenschaften möglicherweise geändert wurden. Gibt false zurück, wenn der Benutzer im Dialogfeld „Seite einrichten“ auf „Abbrechen“ klickt. Boolean Zeigt das Dialogfeld „Seite einrichten“ des Betriebssystems an, falls dies von der aktuellen Umgebung unterstützt wird. Verwenden Sie die supportsPageSetupDialog-Eigenschaft, um festzustellen, ob das Dialogfeld „Seite einrichten“ unterstützt wird. import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (myPrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); } PrintJob.supportsPageSetupDialogstart2 Zeigt optional das Druckdialogfeld des Betriebssystems an, startet den Spoolvorgang und ändert möglicherweise die schreibgeschützten Eigenschaftswerte für das PrintJob-Objekt.Wenn das Dialogfeld „Seite einrichten“ angezeigt wird oder zurzeit ein anderer Druckauftrag aktiv ist IllegalOperationErrorflash.errors:IllegalOperationErrorDer Wert true, wenn der Benutzer im Dialogfeld „Drucken“ auf „OK“ klickt oder wenn das Dialogfeld „Drucken“ nicht angezeigt wird und es keinen Fehler gibt; false, wenn der Benutzer auf „Abbrechen“ klickt oder wenn ein Fehler auftritt. BooleanuiOptionsflash.printing:PrintUIOptionsnullEin Objekt, das angibt, welche Optionen im Dialogfeld „Drucken“ für den Benutzer angezeigt werden. Wenn der showPrintDialog-Parameter false ist, wird dieser Wert ignoriert. showPrintDialogBooleantrueOb das Dialogfeld „Drucken“ für den Benutzer angezeigt wird, bevor der Druckauftrag gestartet wird, oder nicht. Zeigt optional das Druckdialogfeld des Betriebssystems an, startet den Spoolvorgang und ändert möglicherweise die schreibgeschützten Eigenschaftswerte für das PrintJob-Objekt.

Der uiOptions-Parameter ermöglicht es dem Aufrufer zu steuern, welche Optionen im Dialogfeld „Drucken“ angezeigt werden. Lesen Sie dazu den Abschnitt zur PrintUIOptions-Klasse. Dieser Parameter wird ignoriert, wenn showPrintDialog den Wert „false“ hat.

Auch wenn showPrintDialog den Wert true hat, kann sich das Verhalten dieser Methode von der start()-Methode unterscheiden. Bei einigen Betriebssystemen zeigt start() das Dialogfeld „Seite einrichten“ gefolgt vom Dialogfeld „Drucken an“. Im Gegensatz dazu zeigt start2() nie das Dialogfeld „Seite einrichten“ an.

Im folgenden Beispiel werden die Einstellungen für die niedrigste und die höchste Seitenzahl im Dialogfeld „Drucken“ festgelegt, bevor das Dialogfeld für den Benutzer angezeigt wird:

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);
PrintJob.addPage()PrintJob.send()
start Zeigt das Druckdialogfeld des Betriebssystems an und beginnt mit dem Spooling.in AIR 2 oder höher, wenn ein anderer PrintJob zurzeit aktiv ist IllegalOperationErrorflash.errors:IllegalOperationErrorDer Wert true, wenn der Benutzer im angezeigten Druckdialogfeld auf „OK“ klickt; false, wenn der Benutzer auf „Abbrechen“ klickt oder ein Fehler auftritt. Boolean Zeigt das Druckdialogfeld des Betriebssystems an und beginnt mit dem Spooling. Der Benutzer kann die Druckeinstellungen im Druckdialogfeld ändern. Wenn die PrintJob.start()-Methode erfolgreich zurückgegeben wird (der Benutzer klickt im Druckdialogfeld auf "OK"), sind die folgenden Eigenschaften angegeben, welche die vom Benutzer gewählten Druckeinstellungen darstellen. EigenschaftTypEinheitenHinweisePrintJob.paperHeightNumberPunktGesamthöhe des PapiersPrintJob.paperWidthNumberPunktGesamtbreite des PapiersPrintJob.pageHeightNumberPunktHöhe des tatsächlich druckbaren Seitenbereichs. Benutzerdefinierte Ränder werden ignoriert.PrintJob.pageWidthNumberPunktBreite des tatsächlich druckbaren Seitenbereichs. Benutzerdefinierte Ränder werden ignoriert.PrintJob.orientationString"portrait" (flash.printing.PrintJobOrientation.PORTRAIT) oder "landscape" (flash.printing.PrintJobOrientation.LANDSCAPE).

Hinweis: Wenn der Benutzer das Druckdialogfeld durch „Abbrechen“ schließt, werden die Eigenschaften nicht eingetragen.

Wenn der Benutzer im Dialogfeld „Drucken“ auf „OK“ klickt, beginnt der Player damit, den Druckauftrag an die Druckwarteschlange des Betriebssystems zu übergeben. Da im Betriebssystem dann Informationen zum Druckstatus angezeigt werden, sollten Sie möglichst bald PrintJob.addPage() und PrintJob.send() aufrufen, damit Seiten an die Druckwarteschlange gesendet werden. Sie können die schreibgeschützten, mit dieser Methode angegebenen Eigenschaften für Höhe, Breite und Ausrichtung zum Formatieren des Ausdrucks verwenden.

Überprüfen Sie zunächst, ob diese Methode true zurückgibt (nachdem der Benutzer im Druckdialogfeld des Betriebssystems auf „OK“ geklickt hat), und rufen Sie erst dann PrintJob.addPage() und PrintJob.send() auf:

var myPrintJob:PrintJob = new PrintJob(); if(myPrintJob.start()) { // addPage() and send() statements here }

Wenn eines der folgenden Intervalle bei der angegebenen Instanz des Druckauftrags ein Zeitlimit von 15 Sekunden überschreitet, wird beim darauf folgenden Aufruf von PrintJob.start() der Wert false zurückgegeben.

  • PrintJob.start() und die erste PrintJob.addPage()
  • eine PrintJob.addPage() und die nächste PrintJob.addPage()
  • die letzte PrintJob.addPage() und PrintJob.send()
PrintJob.addPage()PrintJob.send()
terminate Gibt an, dass der Druckauftrag beendet werden soll, ohne dass er gesendet wird. Gibt an, dass der Druckauftrag beendet werden soll, ohne dass er gesendet wird. Verwenden Sie diese Methode, wenn ein Druckauftrag bereits durch einen Aufruf von start() oder start2() eingeleitet wurde, aber keine Seiten an den Drucker gesendet werden sollen. Typischerweise wird terminate() nur zur Wiederherstellung nach Fehlern verwendet.

Nach dem Aufrufen dieser Methode kann die PrintJob-Instanz wiederverwendet werden. Wo immer dies möglich ist, werden die Druckeinstellungen zur späteren Verwendung erhalten.

active Gibt an, ob zurzeit ein Druckauftrag aktiv ist.Boolean Gibt an, ob zurzeit ein Druckauftrag aktiv ist. Ein Druckauftrag ist aktiv (der Wert der Eigenschaft ist true), wenn mindestens eine der beiden folgenden Bedingungen zutrifft:
  • Es wird das Dialogfeld „Seite einrichten“ der „Drucken“ angezeigt.
  • Die start()- oder start2()-Methode wurde mit einem Rückgabewert true aufgerufen und die Methode send() oder terminate() wurde nicht aufgerufen.

Wenn diese Eigenschaft den Wert true hat und Sie die Methode showPageSetupDialog(), start() oder start2() aufrufen, gibt die Laufzeitumgebung eine Ausnahme aus.

PrintJob.start()PrintJob.start2()PrintJob.send()PrintJob.terminate()
copies Die Anzahl der Kopien, die das Drucksystem von allen ggf. später zum Druckauftrag hinzugefügten Seiten druckt.int Die Anzahl der Kopien, die das Drucksystem von allen ggf. später zum Druckauftrag hinzugefügten Seiten druckt. Dies ist die Anzahl der Kopien, die vom Benutzer in das Druckdialogfeld des Betriebssystems eingegeben wurde. Wenn die Anzahl der Kopien im Druckdialogfeld nicht angezeigt oder das Dialogfeld nicht eingeblendet wurde, ist der Wert 1 (sofern er nicht vom Anwendungscode geändert wurde). firstPage Die Seitenzahl der ersten Seite des Seitenbereichs, den der Benutzer im Druckdialogfeld des Betriebssystems eingegeben hat.int Die Seitenzahl der ersten Seite des Seitenbereichs, den der Benutzer im Druckdialogfeld des Betriebssystems eingegeben hat. Diese Eigenschaft hat den Wert Null, wenn der Benutzer anfordert, dass alle Seiten gedruckt werden, oder wenn der Seitenbereich nicht im Druckdialogfeld angezeigt wurde oder wenn das Druckdialogfeld nicht für den Benutzer eingeblendet wurde. isColor Gibt an, ob der zurzeit ausgewählte Drucker mit den aktuellen Druckeinstellungen farbig (true) oder Graustufen (false) druckt.Boolean Gibt an, ob der zurzeit ausgewählte Drucker mit den aktuellen Druckeinstellungen farbig (true) oder Graustufen (false) druckt.

Wenn kein Farben-oder-Graustufen-Wert ermittelt werden kann, ist der Wert true.

isSupported Gibt an, ob die PrintJob-Klasse von der aktuellen Plattform unterstützt wird (true) oder nicht (false).Boolean Gibt an, ob die PrintJob-Klasse von der aktuellen Plattform unterstützt wird (true) oder nicht (false). jobName Der Name oder Titel des Druckauftrags.Stringwenn Code versucht, die Eigenschaft festzulegen, während die active-Eigenschaft den Wert true hat. IllegalOperationErrorflash.errors:IllegalOperationError<code>null</code> Der Name oder Titel des Druckauftrags. Der Auftragsname wird vom Betriebssystem typischerweise als Titel des Auftrags in der Druckwarteschlange oder als Standardname eines Auftrags, der in eine Datei gedruckt wird, verwendet.

Wenn Sie die Methode start() oder start2() nicht aufgerufen und keinen Wert für die Eigenschaft festgelegt haben, hat die Eigenschaft den Wert null.

Für jeden Druckauftrag, den Sie mit der PrintJob-Instanz ausführen, legen Sie diese Eigenschaft fest, bevor Sie die start()- oder start2()-Methode aufrufen.

lastPage Die Seitenzahl der letzten Seite des Seitenbereichs, den der Benutzer im Druckdialogfeld des Betriebssystems eingegeben hat.int Die Seitenzahl der letzten Seite des Seitenbereichs, den der Benutzer im Druckdialogfeld des Betriebssystems eingegeben hat. Diese Eigenschaft hat den Wert Null, wenn der Benutzer anfordert, dass alle Seiten gedruckt werden, oder wenn der Seitenbereich nicht im Druckdialogfeld angezeigt wurde oder wenn das Druckdialogfeld nicht für den Benutzer eingeblendet wurde. maxPixelsPerInch Die physische Auflösung des ausgewählten Druckers in Pixel pro Zoll.Number Die physische Auflösung des ausgewählten Druckers in Pixel pro Zoll. Der Wert wird entsprechend den aktuellen Druckeinstellungen, die vom Betriebssystem gemeldet werden, berechnet.

Wenn die Auflösung nicht ermittelt werden kann, wird ein Standardwert verwendet. Der Standardwert ist 600 ppi unter Linux und 360 ppi unter Mac OS. Unter Windows ist die Druckerauflösung immer verfügbar, weshalb kein Standardwert erforderlich ist.

orientation Die Bildausrichtung für den Druck.String Die Bildausrichtung für den Druck. Die akzeptierten Werte sind als Konstanten in der PrintJobOrientation-Klasse definiert.

Hinweis: Für AIR 2 oder höher legen Sie diese Eigenschaft fest, bevor Sie einen Druckauftrag starten, um die Standardausrichtung in den Dialogfeldern „Seite einrichten“ und „Drucken“ einzustellen. Legen Sie die Eigenschaft fest, während ein Druckauftrag ausgeführt wird (nach dem Aufrufen von start() oder start2(), um die Ausrichtung für einen Seitenbereich innerhalb des Druckauftrags festzulegen.

PrintJobOrientation-Klasse
pageHeight Die Höhe des größten Bereichs, der im aktuellen druckbaren Bereich der Seite zentriert werden kann, in Punkt.int Die Höhe des größten Bereichs, der im aktuellen druckbaren Bereich der Seite zentriert werden kann, in Punkt. Alle benutzerdefinierten Randeinstellungen werden ignoriert. Diese Eigenschaft ist nur nach einem Aufruf der PrintJob.start()-Methode verfügbar.

Hinweis: Für AIR 2 oder höher ist diese Eigenschaft veraltet. Verwenden Sie stattdessen printableArea, womit der druckbare Bereich in gebrochenen Punkt gemessen wird und nicht zentrierte Druckbereiche genau beschrieben werden.

PrintJob.printableArea
pageWidth Die Breite des größten Bereichs, der im aktuellen druckbaren Bereich der Seite zentriert werden kann, in Punkt.int Die Breite des größten Bereichs, der im aktuellen druckbaren Bereich der Seite zentriert werden kann, in Punkt. Alle benutzerdefinierten Randeinstellungen werden ignoriert. Diese Eigenschaft ist nur nach einem Aufruf der PrintJob.start()-Methode verfügbar.

Hinweis: Für AIR 2 oder höher ist diese Eigenschaft veraltet. Verwenden Sie stattdessen printableArea, womit der druckbare Bereich in gebrochenen Punkt gemessen wird und nicht zentrierte Druckbereiche genau beschrieben werden.

PrintJob.printableArea
paperArea Die Grenzen des Druckermediums in Punkt.flash.geom:Rectangle Die Grenzen des Druckermediums in Punkt. Dieser Wert verwendet dasselbe Koordinatensystem, das für nachfolgende Aufrufe von addPage() verwendet wird. paperHeight Die Gesamthöhe des Papiers in Punkt.int Die Gesamthöhe des Papiers in Punkt. Diese Eigenschaft ist nur nach einem Aufruf der PrintJob.start()-Methode verfügbar.

Hinweis: Für AIR 2 oder höher ist diese Eigenschaft veraltet. Verwenden Sie stattdessen paperArea, womit die Abmessungen des Papiers in gebrochenen Punkt gemessen werden.

PrintJob.paperArea
paperWidth Die Gesamtbreite des Papiers in Punkt.int Die Gesamtbreite des Papiers in Punkt. Diese Eigenschaft ist nur nach einem Aufruf der PrintJob.start()-Methode verfügbar.

Hinweis: Für AIR 2 oder höher ist diese Eigenschaft veraltet. Verwenden Sie stattdessen paperArea, womit die Abmessungen des Papiers in gebrochenen Punkt gemessen werden.

PrintJob.paperArea
printableArea Die Grenzen des druckbaren Bereichs des Druckermediums in Punkt.flash.geom:Rectangle Die Grenzen des druckbaren Bereichs des Druckermediums in Punkt. Dieser Wert verwendet dasselbe Koordinatensystem, das für nachfolgende Aufrufe von addPage() verwendet wird. printer Ruft den Drucker ab, der für die folgenden Druckaufträge verwendet werden soll, oder legt diesen fest.String Ruft den Drucker ab, der für die folgenden Druckaufträge verwendet werden soll, oder legt diesen fest. Der String, der an den Setter übergeben und vom Getter zurückgegeben wird, sollte mit einem der Strings im Array, das von der printers()-Methode zurückgegeben wird, übereinstimmen. Um anzugeben, das der Standarddrucker verwendet werden soll, legen Sie den Wert null fest. Bei Betriebssystemen, in denen kein Standarddrucker bestimmt werden kann, hat diese Eigenschaft den Wert null. import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start();

Wenn Sie den Wert dieser Eigenschaft festlegen, wird sofort versucht, diesen Drucker auszuwählen. Wenn der Drucker nicht ausgewählt werden kann, wird diese Eigenschaft auf den zuvor verwendeten Wert zurückgesetzt. Sie können ermitteln, ob das Festlegen des Druckerwerts erfolgreich ist, indem Sie den Wert nach dem Versuch, ihn zu senden, lesen und überprüfen, ob der mit dem zuvor eingestellten Wert übereinstimmt.

Die printer-Eigenschaft eines aktiven Druckauftrags kann nicht geändert werden. Wenn Sie versuchen, ihn nach dem erfolgreichen Aufrufen der start()- oder start2()-Methode und vor dem Aufrufen von send() oder terminate() zu ändern, schlägt dies fehl.

printers Stellt eine Liste der verfügbaren Drucker als Stringnamenwerte bereit. Stellt eine Liste der verfügbaren Drucker als Stringnamenwerte bereit. Die Liste wird nicht im Voraus berechnet; sie wird generiert, wenn die Funktion aufgerufen wird. Wenn keine Drucker verfügbar sind oder das System Druckvorgänge nicht unterstützt, ist der Wert null. Wenn das System den Druck zwar unterstützt aber keine Liste mit Druckern zurückgeben kann, ist der Wert ein Vektor mit einem einzelnen Element (seine length-Eigenschaft ist 1). In diesem Fall hat das einzelne Element den tatsächlichen Druckernamen oder einen Standardnamen, wenn der Name des aktuellen Druckers nicht ermittelt werden kann. supportsPageSetupDialog Gibt an, ob die Flash-Laufzeitumgebung ein separates Dialogfeld "Seite einrichten" unterstützt.Boolean Gibt an, ob die Flash-Laufzeitumgebung ein separates Dialogfeld "Seite einrichten" unterstützt. Wenn diese Eigenschaft den Wert true hat, können Sie die showPageSetupDialog()-Methode aufrufen, um das Dialogfeld „Seite einrichten“ des Betriebssystems anzuzeigen. PrintJob.showPageSetupDialog()
PrintJobOrientation Diese Klasse enthält Werte, die über die PrintJob.orientation-Eigenschaft zum Angeben der Position des Bilds auf einer gedruckten Seite verwendet werden.Object Diese Klasse enthält Werte, die über die PrintJob.orientation-Eigenschaft zum Angeben der Position des Bilds auf einer gedruckten Seite verwendet werden. PrintJob.orientationLANDSCAPE Die horizontale Bildausrichtung (Querformat) für den Druck.landscapeString Die horizontale Bildausrichtung (Querformat) für den Druck. Diese Konstante wird mit der Eigenschaft PrintJob.orientation verwendet. Verwenden Sie die Syntax PrintJobOrientation.LANDSCAPE. PrintJob.orientationPORTRAITPORTRAIT Die vertikale Bildausrichtung (Hochformat) für den Druck.portraitString Die vertikale Bildausrichtung (Hochformat) für den Druck. Diese Konstante wird mit der Eigenschaft PrintJob.orientation verwendet. Verwenden Sie die Syntax PrintJobOrientation.PORTRAIT. PrintJob.orientationLANDSCAPEPaperSize Diese Klasse stellt die verfügbaren Werte für den paperSize-Parameter der PrintJob.selectPaperSize()-Methode bereit.Object Diese Klasse stellt die verfügbaren Werte für den paperSize-Parameter der PrintJob.selectPaperSize()-Methode bereit. Jede Konstante repräsentiert ein Papierformat, das beim Drucken einer Seite verwendet wird.

In der folgenden Tabelle sind die ungefähren Formate der einzelnen Papiertypen aufgeführt. Die Format sind deshalb nur ungefähr, da es unter den verschiedenen Druckertreibern leichte Abweichungen gibt. Die Breite einer A4-Seite kann je nach Drucker zum Beispiel 595,0, 595,2, 595,22 oder 595,28 Punkt betragen.

WertGröße in PunktA4595 x 842A5420 x 595A6297 x 420CHOUKEI3GOU340 x 666CHOUKEI4GOU298 x 666ENV_10297 x 684ENV_B5499 x 709ENV_C5459 x 649ENV_DL312 x 624ENV_MONARCH279 x 540ENV_PERSONAL261 x 468EXECUTIVE522 x 756FOLIO612 x 936JIS_B5516 x 729LEGAL612 x 1008LETTER612 x 792STATEMENT396 x 612
PrintJob.selectPaperSize()A4 A4 a4String A4 A5 A5 a5String A5 A6 A6 a6String A6 CHOUKEI3GOU Japanese choukei 3 gou (Umschlag) choukei3gouString Japanese choukei 3 gou (Umschlag) CHOUKEI4GOU Japanese choukei 4 gou (Umschlag) choukei4gouString Japanese choukei 4 gou (Umschlag) ENV_10 Legal-Umschlag env_10String Legal-Umschlag ENV_B5 B5-Umschlag env_b5String B5-Umschlag ENV_C5 C5-Umschlag env_c5String C5-Umschlag ENV_DL DL-Umschlag env_dlString DL-Umschlag ENV_MONARCH Monarch-Umschlag env_monarchString Monarch-Umschlag ENV_PERSONAL Personal-Umschlag env_personalString Personal-Umschlag EXECUTIVE Executive-Format executiveString Executive-Format FOLIO Folio-Format folioString Folio-Format JIS_B5 Japanisch B5 jis_b5String Japanisch B5 LEGAL Herkömmliches Legal-Format legalString Herkömmliches Legal-Format LETTER Herkömmliches Letter-Format letterString Herkömmliches Letter-Format STATEMENT Statement-Format statementString Statement-Format