| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2007
Beiträge: 1
|
Hallo, habe ein Problem mit der printJob Klasse: Wenn ein Benutzer länger als ein paar Sekunden Braucht seinen Drucker anzugeben (Evtl. Seitenformat einstellt) gibt es nach den klick auf den "Drucken" Button im Windows Dialog die Meldung: "Macromedia Flash Player 8 wird durch ein Script in diesem Film verlangsamt....". Hat jemand evtl eine Lösung? Wenn man dort auf "Nein" drückt kommt der Ausdruck dann wie gewünscht raus. Denke irgend ein Watchdog merkt das das Script an der Stelle printJob.start() stehenbleibt und erst nach einer gewissen Zeit wieder weiterläut. Kann man das irgendwie abstellen? Habe noch etwas gestöbert und bei Adobe auf diesen Satz gestoßen: "The timeout of this alert cannot be altered, however, 15 seconds is about as long as one might want to wait for an application to become responsive." ... Da stellt sich mir die Frage "Wie sag ich's meinem Kunden?" Vielen Dank für die Hilfe im Voraus. Hier mal das Script, ist recht umfangreich weil es universell den Movieclip "Fit to Page" drucken soll (Habe noch nicht alle Varianten getestet). Code: // Druckfunktion
_global.printForm = function(myTarget:MovieClip):Boolean {
var isPortrait:Boolean = true;
var targetW = myTarget._width;
var targetH = myTarget._height;
var targetY = myTarget._y;
//Ist der MC hoch- oder Querformat?
if (myTarget._width > myTarget._height) {
isPortrait = false;
}
//Initialisierung des printJob
var myPrintJob = new PrintJob();
var tmp = myPrintJob.start();
if (tmp) {
//Papiergröße ermitteln
var pw:Number = myPrintJob.pageWidth;
var ph:Number = myPrintJob.pageHeight;
var tw:Number = myPrintJob.paperWidth;
var th:Number = myPrintJob.paperHeight;
var po:String = myPrintJob.orientation;
//Skalierungsfaktoren berechnen
if (isPortrait == true) {
//Größter Faktor ermitteln
var wratio:Number = myTarget._width/pw;
var hratio:Number = myTarget._height/ph;
var myratio:Number;
trace("wratio: " + wratio + " hratio: " + hratio);
if (wratio > hratio) {
myratio = wratio;
} else {
myratio = hratio;
}
} else {
//Größter Faktor ermitteln
var wratio:Number = myTarget._width/ph;
var hratio:Number = myTarget._height/pw;
var myratio:Number;
if (wratio > hratio) {
myratio = wratio;
} else {
myratio = hratio;
}
}
//Skalierung des aktuellen MCs
myTarget._width = myTarget._width/myratio;
myTarget._height = myTarget._height/myratio;
myTarget._x = (myTarget._x-277)/myratio;
//ggf. Rotation des MCs
if (isPortrait == true && po == "landscape") {
myTarget._rotation = 90;
myTarget._y = Stage.height;
} else if (isPortrait == false && po == "portrait") {
myTarget._rotation = 90;
myTarget._y = Stage.height;
}
//Drucken
if (myPrintJob.addPage(myTarget,{},{printAsBitmap:true})) { //
myPrintJob.send(0);
} else {
trace("Fehler!");
}
//MC wiederherstellen
myTarget._rotation = 0;
myTarget._width = targetW;
myTarget._height = targetH;
myTarget._y = targetY;
} else {
trace("Abbruch");
}
delete myPrintJob;
return true;
} Geändert von harpie (14-05-2007 um 12:52 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |