Klasa: PrintJob
Kompatybilność: ActionScript 1.0, Flash 7+
Konstruktor
Opis
Wysyła określony poziom lub klip filmowy jako pojedynczą stronę do drukowania.
Przed użyciem tej metody,musisz wywołać PrintJob.start()
; po wywoołaniu PrintJob.addPage()
raz lub wielu rzy dla pracy drukowania, musisz użyć PrintJob.send()
, aby wysłać zbuferowane strony do drukarki.
Jeśli ta metoda zwróci FALSE (na przykład jeśli nie wywołasz PrintJob.start()
lub użytkownik anuluje drukowanie), każde późniejsze wywołanie PrintJob.addPage()
zawiedzie. Jednak, jeśli wywołanie poprzednie PrintJob.addPage()
powiedzie się, ostateczne polecenie PrintJob.send()
wyśle poprawnie zbuferowane strony do drukarki.
Jeśli przkeażesz wartość dla obszarDrukowania
, wtedy xMin
oraz yMin
współrzędne, ustalają lewy górny róg (0,0) drukowanego obszaru strony. Obszar drukowany użytkownika jest określony przez właściwości pageHeight
oraz pageWidth
ustawione przez PrintJob.start()
. Ponieważ drukowanie dopasowuje się do lewego górnego rogu obszaru drukowania na stronie, drukowanie jest okrojony na prawo i/lub dół, jeśli obszar zdefiniowany w obszarDrukowania
jest większy niż obszar drukowany na stronie. Jeśli nie przekażesz wartości dla tego parametru oraz Scena (Stage) jest większa niż obszar drukowany, wtedy to samo zachowanie okrajania obszaru występuje.
Jeśli chcesz skalować klip filmowy przed wydrukowaniem go, użyj MovieClip._xscale
i MovieClip._yscale
właściwości, przed wezwaniem tej metody oraz ustaw je spowrotem do oryginalnych wartości. Skala klipu filmowego nie ma żadnej relacji do obszarDrukowania
. Czyli jeśli określisz obszar roboczy na 50 x 50 pikseli, wtedy 2500 pikseli jest drukowanych. Jeśli zeskalujesz klip filmowy, te same 2500 pikseli będą drukowane, ale klip filmowy jest drukowany w zeskalowanej formie.
W Flash Player funkcja drukowania wspomaga PostScript oraz non-PostScript drukarki. Non-PostScript drukarki konwertują wektory na bitmapy.
Metoda zwraca TRUE, jeśli strona została poprawnie wysłana do druku, w przeciwnym razie FALSE.
Parametry
cel:
Object - Liczba lub ciąg znaków; poziom lub nazwa instancji klipu filmowego do drukowania. Przekaż liczbę, aby określić poziom (na przykład, 0 jest _root
w filmie), lub ciąg znaków (w cudzysłwach [""]), aby określic nazwę instancji klipu filmowego.
obszarDrukowania:
Object [opcjonalny] - Obiekt określający obszar do drukowania, w podanym formacie:
Wspólrzędne, określone przez obszarDrukowania
reprezentują wyświetlone piksele relatywne do punktu rejestracyjnego dla _root
klipu filmowego(jeśli cel
= 0) poziomu lub klip filmowy określony przez cel
. Musisz dostarczyć wszystkich 4 współrzędnych. Szerokość (xMax-xMin
) oraz wysokość (yMax-yMin
) muszą być większe niż 0.
Punkty są jednostkami drukowania do mierzenia, oraz piksele są jednostkami wyświetlacza mierzenia, punkty są stałą fizyczną wielkości (1/72 inch), ale rozmiar piksela zależy od rozdzielczości wyświetlacza. Możesz użyć podanego równania, aby przekonwertować inche lub centymetry na twipy lub punkty (twip to 1/20 punktu):
- 1 punkt = 1/72 inch = 20 twip'ów
- 1 inch = 72 punktów = 1440 twip'ów
- 1 cm = 567 twip'ów
Konwersja pomiędzy pikselami oraz punktami zależy od ustawień drukarki oraz, czy klip filmowy jest skalowany. Nie zeskalowany klip filmowy, który masz 72 pikseli szerokości, wydrukuje jeden inch szerokości, z jednym punktem równym do jednego pikselu, niezależnie od rozdzielczości wyświetlacza.
opcje:
Object [opcjonalny] - Parametr określający, czy drukowanie byc jako wektory czy jako bitmapy, w podanym formacie:
Domyślna wartość to FALSE, która reprezentuje wektorowe drukowanie. Jeśli zmieniasz ten parametr, pamiętaj o sugestiach:
- Jeśli treść, którą drukujesz załącza obraz bitmapowy, użyj
{printAsBitmap:true}
aby załączyć każdą przezroczystość oraz efekty kolorów. - Jeśli treść nie posiada obrazów bitmapowych, omiń ten parametr lub użyj
{printAsBitmap:false}
aby wydrukować treść w wyższej jakości wektorowej.
Jeśli nie chcesz określać wartości dla opcje
, ale chcesz określić numerKlatki
, przekaż null
dla tego parametru.
numerKlatki:
Number [opcjonalny] - Liczba pozwalająca ci określić, która klatka ma być wydrukowana w filmie, przekazując numerKlatki
nie przeszkadza ActionScript'owi na wykonanie tej klatki. Jeśli ominiesz ten parametr, wtedy aktualna klatka w cel
jest drukowana.
Wskazówka: Jeśli wcześniej użyłeś print()
, printAsBitmap()
, printAsBitmapNum()
, lub printNum()
do drukowania z Flash, możesz użyć klatki warstwy #p
na kilku klatkach, aby określić które strony wydrukować. Aby użyć PrintJob.addPage()
do drukowania kliku klatek, musisz wykonać polecenie PrintJob.addPage()
dla każdej klatki; #p
klatki warstw sa ignorowane.
Listing
{
var liczbaStron:Number = 0;
var moj_pj:PrintJob = new PrintJob();
if (moj_pj.start())
{
if (moj_pj.addPage(0)){
liczbaStron++;
if (moj_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500})){
liczbaStron++;
if (moj_pj.addPage(0, {xMin:0,xMax:400,yMin:0,yMax:500},
{printAsBitmap:true}, 1)){
liczbaStron++;
if (moj_pj.addPage(5, {xMin:50,xMax:550,yMin:70,yMax:670},null, 4)){
liczbaStron++;
if (moj_pj.addPage("klip_mc",
{xMin:0,xMax:400,yMin:0,yMax:400},{printAsBitmap:true}, 3)){
liczbaStron++;
var x:Number = klip_mc._xscale;
var y:Number = klip_mc._yscale;
klip_mc._xscale = 50;
klip_mc._yscale = 50;
if (moj_pj.addPage("klip_mc",
{xMin:0,xMax:400,yMin:0,yMax:600},null, 3)){
liczbaStron++;
}
klip_mc._xscale = x;
klip_mc._yscale = y;
}
}
}
}
}
}
if (liczbaStron > 0){
moj_pj.send();
}
delete moj_pj;
Ranga: Administrator serwisu Punktów: 0