Geavanceerde afdruktechnieken

Adobe 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:

  • Dialoogvensters Pagina-instelling: zowel het standaard als het aangepaste dialoogvenster voor pagina-instelling kan worden weergegeven. De gebruiker kan paginabereiken, papierformaat, afdrukstand en schaal instellen vóór het afdrukken.

  • Afdrukweergave: u kunt een weergavemodus maken waarin het papierformaat, de marges en de positie van de inhoud op de pagina precies worden getoond.

  • Beperkt afdrukken: ontwerpers kunnen de afdrukopties beperken, zo kunnen ze het aantal afdrukbare pagina's beperken.

  • Kwaliteitopties: ontwerpers kunnen de afdrukkwaliteit van een document aanpassen en de gebruiker in staat stellen de resolutie en kleuropties te selecteren.

  • Meerdere afdruksessies: u kunt één PrintJob-instantie nu gebruiken voor meerdere afdruksessies. Toepassingen kunnen elke keer dezelfde instellingen weergeven inde dialoogvensters Pagina-instelling en Afdrukken.

Wijzigingen in de afdrukworkflow

De nieuwe workflow voor afdrukken bestaat uit de volgende stappen:

  • new PrintJob() : hiermee maakt u een PrintJob-instantie (of herbruikt u een bestaande instantie). Vele nieuwe PrintJob-eigenschappen en -methoden, zoals selectPaperSize() , zijn beschikbaar voordat de afdruktaak wordt gestart of tijdens het afdrukken.

  • PrintJob.showPageSetupDialog() : hiermee kunt u het dialoogvenster met pagina-instellingen weergeven zonder een afdruktaak te starten (optioneel).

  • PrintJob.start() of PrintJob.start2() : naast de start() -methode wordt de start2() -methode gebruikt om het afdrukspoolproces in gang te zetten. Met de start2() -methode kunt u aangeven of u het dialoogvenster Afdrukken wilt weergeven. Ook kunt u het weergegeven dialoogvenster aanpassen.

  • PrintJob.addPage() : hiermee kunt u inhoud toevoegen aan de afdruktaak. Ongewijzigd ten opzichte van bestaand proces.

  • PrintJob.send() of PrintJob.terminate() : de pagina's naar de geselecteerde printer verzenden of de afdruktaak beëindigen zonder deze te verzenden. Afdruktaken worden beëindigd als er een fout optreedt. Als een PrintJob-instantie wordt beëindigd, kan de instantie alsnog opnieuw worden gebruikt. Wanneer u de PrintJob-instantie opnieuw gebruikt, blijven de huidige afdrukinstellingen behouden, ongeacht of de afdruktaak al naar de printer is gestuurd of dat deze is beëindigd.

Het dialoogvenster Pagina-instelling

De 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 PrintUIOptions klasse-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 wijzigen

U 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:

  • paperArea : de in punten uitgedrukte rechthoekige afbakening van het printermedium.

  • printableArea : de in punten uitgedrukte rechthoekige afbakening van het afdrukbare gebied.

  • maxPixelsPerInch : de fysieke resolutie van de actieve printer, uitgedrukt in pixels per inch.

  • isColor : of de actieve printer kleurenafdrukken kan maken (het resultaat true verschijnt als de actieve printer kleuren kan afdrukken).

Zie Voorbeeld van afdrukken: Pagina-instelling en afdrukopties .