Zaawansowane techniki drukowaniaAdobe AIR 2 i wersje późniejsze Począwszy od środowiska Adobe AIR 2, klasa PrintJob zawiera dodatkowe właściwości i metody oraz obsługiwane są trzy dodatkowe klasy: PrintUIOptions, PaperSize i PrintMethod. Zmiany te pozwalają na wdrożenie dodatkowych obiegów pracy drukowania i dają twórcom większą kontrolę nad procesem drukowania. Zmiany obejmują między innymi:
Zmiany w obiegu pracy drukowaniaNowy obieg pracy drukowania składa się z następujących kroków:
Okno dialogowe ustawień stronyMetoda showPageSetupDialog() umożliwia wyświetlanie okna dialogowego Ustawienia strony, o ile jest ono obsługiwane przez bieżące środowisko. Przed wywołaniem tej metody należy zawsze sprawdzać właściwość supportsPageSetupDialog. Oto prosty przykład: import flash.printing.PrintJob;
var myPrintJob:PrintJob = new PrintJob();
//check for static property supportsPageSetupDialog of PrintJob class
if (PrintJob.supportsPageSetupDialog) {
myPrintJob.showPageSetupDialog();
}
Metodę można opcjonalnie wywołać za pomocą właściwości klasy PrintUIOptions w celu sterowania opcjami wyświetlanymi w oknie dialogowym Ustawienia strony. Możliwe jest ustawienie minimalnej i maksymalnej liczby stron. Poniższy przykład ilustruje sposób ograniczenia wydruku do trzech pierwszych stron: 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);
}
Zmienianie ustawień drukowaniaUstawienia instancji PrintJob można zmienić w dowolnej chwili po jej utworzeniu. W szczególności możliwa jest zmiana ustawień między wywołaniami addPage() oraz po wysłaniu lub zakończeniu zadania wydruku. Niektóre ustawienia, jak na przykład właściwość printer, mają zastosowanie do całego zadania wydruku, a nie do pojedynczych stron. Te ustawienia należy ustawić przed wywołaniem metody start() lub start2(). Możliwe jest wywołanie metody selectPaperSize() w celu ustawienia domyślnego rozmiaru papieru w oknach dialogowych Ustawienia strony i Drukowanie. Możliwe jest również wywołanie jej w trakcie zadania drukowania w celu ustawienia rozmiaru papieru dla zakresu stron. Jest ona wywoływana za pomocą stałych zdefiniowanych za pomocą klasy PaperSize, podobnie jak w tym przykładzie, w którym wybierany jest rozmiar koperty nr 10: import flash.printing.PrintJob;
import flash.printing.PaperSize;
var myPrintJob:PrintJob = new PrintJob();
myPrintJob.selectPaperSize(PaperSize.ENV_10);
Właściwości printer można użyć do pobrania lub ustawienia nazwy drukarki dla bieżącego zadania drukowania. Domyślnie jest to nazwa drukarki domyślnej. Właściwość printer ma wartość null, jeśli brak jest dostępnych drukarek lub jeśli system nie obsługuje drukowania. Aby zmienić drukarkę, najpierw należy pobrać listę dostępnych drukarek za pomocą właściwości printers. Ta właściwość to obiekt Vector, którego elementy String stanowią nazwy dostępnych drukarek. Ustaw właściwość printer na jedną z tych wartości String, aby aktywować daną drukarkę. Nie można zmienić wartości właściwości printer aktywnego zadania drukowania. Próba jej zmiany następuje po pomyślnym wywołaniu metody start() lub start2() i przed wysłaniem zadania lub jego zakończeniem niepowodzeniem. Oto przykład ustawiania tej właściwości. import flash.printing.PrintJob;
var myPrintJob:PrintJob = new PrintJob();
myPrintJob.printer = "HP_LaserJet_1";
myPrintJob.start();
Właściwość copies umożliwia pobieranie wartości dla pewnej liczby kopii ustawionych w oknie dialogowym Drukowanie systemu operacyjnego. Właściwości firstPage i lastPage umożliwiają pobieranie zakresu stron. Właściwość orientation umożliwia pobieranie orientacji strony. Właściwości te można ustawić tak, aby miały pierwszeństwo przed wartościami wprowadzonymi w oknie dialogowym Drukowanie. Poniższy przykład ilustruje ustawianie tych właściwości: 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;
Poniższe ustawienia tylko do odczytu powiązane z poleceniem PrintJob zapewniają pomocne informacje związane z bieżącą konfiguracją drukarki:
Patrz Przykład z drukowaniem: ustawienia strony i opcje drukowania. |
|