Geavanceerde afdruktechniekenAdobe AIR 2 of hoger Te beginnen bij Adobe AIR 2 beschikt de PrintJob-klasse over extra eigenschappen en methoden, en worden drie extra klassen ondersteund: PrintUIOptions, PaperSize en PrintMethod. Deze wijzigingen maken extra printerworkflows mogelijk en geven ontwerpers meer controle over het afdrukproces. Hier volgt een overzicht van de wijzigingen:
Wijzigingen in de afdrukworkflowDe nieuwe workflow voor afdrukken bestaat uit de volgende stappen:
Het dialoogvenster Pagina-instellingDe showPageSetupDialog()-methode geeft het dialoogvenster Pagina-instelling van het besturingssysteem weer als dat door de actieve omgeving wordt ondersteund. Controleer altijd de eigenschap supportsPageSetupDialog voordat u deze methode aanroept. Een eenvoudig voorbeeld: import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); //check for static property supportsPageSetupDialog of PrintJob class if (PrintJob.supportsPageSetupDialog) { myPrintJob.showPageSetupDialog(); } U kunt de methode desgewenst aanroepen met een PrintUIOptionsklasse-eigenschap waarmee u bepaalt welke opties worden weergegeven in het dialoogvenster Pagina-instelling. U kunt het laagste en hoogste paginanummer instellen. In het volgende voorbeeld worden alleen de eerste drie pagina's afgedrukt: import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); if (PrintJob.supportsPageSetupDialog) { var uiOpt:PrintUIOptions = new PrintUIOptions(); uiOpt.minPage = 1; uiOpt.maxPage = 3; myPrintJob.showPageSetupDialog(uiOpt); } Afdrukinstellingen wijzigenU kunt de instellingen van een PrintJob-instantie op elk gewenst moment na het samenstellen van de instantie wijzigen. Zo kunt u bijvoorbeeld de instellingen tussen addPage()-aanroepen wijzigen en nadat een afdruktaak is verzonden of beëindigd. Sommige instellingen, zoals de eigenschap printer zijn van toepassing op de hele afdruktaak en niet alleen op individuele pagina's. Die instellingen moeten worden ingesteld voordat start() of start2() wordt aangeroepen. U kunt de selectPaperSize()-methode aanroepen om het standaardpapierformaat in te stellen in de dialoogvensters Pagina-instelling en Afdrukken. U kunt deze methode ook tijdens het uitvoeren van een afdruktaak aanroepen om het papierformaat voor een paginabereik in te stellen. U roept de methode op met gebruik van constante waarden die zijn gedefinieerd in de klasse PaperSize. In dit voorbeeld wordt bijvoorbeeld het envelopformaat 10 geselecteerd: import flash.printing.PrintJob; import flash.printing.PaperSize; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.selectPaperSize(PaperSize.ENV_10); Gebruik de eigenschap printer om de naam van de printer voor de huidige afdruktaak op te vragen of in te stellen. Dit is standaard de naam van de standaardprinter. De waarde van de eigenschap printer is null als er geen printers beschikbaar zijn of als het systeem geen ondersteuning biedt voor afdrukken. Als u de printer wilt wijzigen, moet u eerst de lijst met beschikbare printers ophalen met de eigenschap printers. Deze eigenschap is een vector waarvan de tekenreekselementen staan voor beschikbare printernamen. Stel de eigenschap printer in op een van deze tekenreekswaarden om de desbetreffende printer tot actieve printer te maken. De printer-eigenschap van een actieve afdruktaak kan niet worden gewijzigd. Pogingen om deze eigenschap te wijzigen als start() of start2() met succes is aangeroepen en voordat de afdruktaak is verzonden of voltooid, zullen mislukken. Hier ziet u een voorbeeld van het instellen van deze eigenschap: import flash.printing.PrintJob; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.printer = "HP_LaserJet_1"; myPrintJob.start(); De eigenschap copies ontneemt de waarde voor het aantal exemplaren aan de instelling in het dialoogvenster Afdrukken van het besturingssysteem. Met de eigenschappen firstPage en lastPage vraagt u het paginabereik op. Met de eigenschap orientation vraagt u de afdrukstand van het papier op. U kunt deze eigenschappen zo instellen dat ze de waarden in het dialoogvenster Afdrukken overschrijven. In het volgende voorbeeld worden deze eigenschappen ingesteld: import flash.printing.PrintJob; import flash.printing.PrintJobOrientation; var myPrintJob:PrintJob = new PrintJob(); myPrintJob.copies = 3; myPrintJob.firstPage = 1; myPrintJob.lastPage = 3; myPrintJob.orientation = PrintJobOrientation.LANDSCAPE; De volgende instellingen met het kenmerk Alleen-lezen zijn gekoppeld aan PrintJob en verschaffen handige informatie over de actieve printerinstellingen:
Zie Voorbeeld van afdrukken: Pagina-instelling en afdrukopties. |
![]() |