Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 08.11.2001 - 21:03 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Hallo zusammen!
Brauch mal wieder einen Tipp von euch:
Ich bastele an einem Script, das als FolderAction die im Ordner aufschlagenden PDF-Dateien öffnen und als EPS exportieren soll. Das Script tut's, doch wenn quasi zeitgleich mehrere PDFs im Ordner aufschlagen, arbeitet das Script nur die erste Datei ab. Der Rest bleibt unberührt. Sieht bis jetzt wie folgt aus:
on adding folder items to this_folder after receiving added_items
tell application "Finder"
activate
set ThePDFFile to (first file of this_folder whose name ends with ".pdf")
select ThePDFFile
set label index of selection to 2
open ThePDFFile
end tell
tell application "KeyQuencer Engine"
DoScript ¨
"
Wait 1 ticks
SwitchApp \"Acrobat\" partial -- zu Acrobat wechseln
WaitApp \"Acrobat\" partial -- wait for Application
Menu \"Datei\" \"Export\"
Menu \"PostScript\" submenu partial
WaitWindow open
Key return
WaitWindow open
Key return
Key cmd \"w\"
"
end tell
tell application "Finder"
set label index of selection to 6
delete ThePDFFile
end tell
end adding folder items to
Habs dann mal mit repeat ein bisschen rumexperimentiert, aber dann öffnet das Script mir immer alle Dateien, bevor die erste abgearbeitet ist.
Könnt ihr mir da mal nen tip geben?
DANKE _________________ - anholn deit kriegen - |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 08.11.2001 - 23:28 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Hallo iScript,
was hast du denn alles in die Repeat-Schleife gepackt? Eigentlich müsste so ziemlich alles rein.
Hast du es schon mal ohne KeyQuencer probiert?
Eigentlich sollte das doch direkt mit Acrobat machbar sein. Mit dem Befehl execute.
execute: Execute the menu item as if the user clicked on it
execute reference -- The menu item to execute
Wenn sich das alles noch in der Schleife befindet, müsste das Script eigentlich so lange warten, bis die Sache von Acrobat erledigt ist. Erst dann sollte die Schleife weiterlaufen. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Zuletzt bearbeitet von Snow am 24.02.2003 - 23:45, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 09.11.2001 - 08:14 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Hallo Snow!
Habe gestern selbst noch mal ein bisschen mit repeat herumprobiert und jetzt klappts. Die Zeile
repeat with x from 1 to (number of items in this_folder)
ziemlich am Anfang gleich nach
tell application "Finder"
brachte den gewünschten Erfolg. Somit hast Du natürlich mal wieder Recht gehabt!! Am KeyQuencer lags jedenfalls nicht, aber ich werde es trotzdem mal mit den Acrobat-Bordmitteln versuchen, obwohl meine Kenntnisse dazu wahrscheinlich nicht ausreichen werden.
Dankeschön! _________________ - anholn deit kriegen - |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 10.11.2001 - 00:29 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Hallo Snow
Wollte es nochmal ohne KeyQuencer realisieren. Wie kann ich es hinbekommen, dass Acrobat im hintergrund arbeitet?
Und gleich noch eine Frage: im Befehls-Verzeichnis von Acro gibt es folgende Befehl, um Datein zu öffnen, ohne sie anzuzeigen!? Dort steht:
open: Open document(s)
open a list of alias
[invisible boolean] -- Whether the opened document should be displayed on screen or not. (default is visible).
Wie muss denn jetzt ein open-Befehl von der Syntax her aussehen, damit die Datei "invisible" geöffnet wird? Hab schon alles probiert, aber es klappt einfach nicht. _________________ - anholn deit kriegen - |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 10.11.2001 - 00:47 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Ich denke so:
set ThePDFFile to (choose file) as list
tell application "Acrobatô 4.0"
open item 1 of ThePDFFile with invisible
end tell _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Zuletzt bearbeitet von Snow am 24.02.2003 - 23:46, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 10.11.2001 - 22:24 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Hi, Snow!
Leider klappt's so nicht. ich bekomme den "invisible"-Parameter einfach nicht übergeben. Es müsste doch irgendwie true bzw. false gesetzt werden, oder?
Aber nochmal generell ein Frage: kann ich derartige Scripts, die Applicationen steuern, irgendwie unsichtbar im Hintergrund ablaufen lassen? Ist das generell möglich/unmöglich? Ich würde nämlich gern einen Mac für diverse Script-Aufgaben "missbrauchen". Kämen sich dann unterschiedliche Folder-Actions nicht in die Quere, wenn die parallel ablaufen und eben besonders, wenn sie sich sichbar im Vordergrund abspielen würden?
Bin gespannt auf die Antwort. _________________ - anholn deit kriegen - |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 10.11.2001 - 23:52 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Ich hab's probiert - es klappt schon. Allerdings weiß ich nicht, ob das was bringt.
Der default-Wert ist visible, daher braucht man kein invisible true oder false.
Bei meinem Test startete Acrobat, es erschien kein Dokument. Als ich das entsprechende PDF dann in den Papierkorb befördert habe und diesen leeren wollte, kam die Meldung, dass die Datei in Gebrauch ist. Sie ist also tatsächlich geöffnet.
Ein Script als Hintergrund-Programm laufen zu lassen ist schon möglich. Mit etwas Bastelei in ResEdit. Das Thema hatten wir schon mal im Forum, soweit ich weiß. Allerdings ist so etwas nicht ganz risikolos.
Da müsstest du jetzt allerdings mal die Suchfunktion benützen. Ich habe keine Ahnung mehr, wie das geht - hab's auch noch nie selber gemacht.
Dass ein komplettes Skript unbemerkt im Hintergrund abläuft, wird eher selten sein. Diverse Funktionen, wie z.B. 'set the clipboard' oder 'the clipboard' machen es nötig, dass man ein Programm in den Vordergrund holt, dass den entsprechenden Befehl verarbeiten kann. So kann ich mir auch gut vorstellen, dass es Probleme geben könnte, wenn sich mehrere Script (Ordneraktionen) darum 'streiten', welches Programm nun im Vordergrund sein soll. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 11.11.2001 - 13:12 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Vielen Dank Snow!
Mit dem "invisible" hat's bei mir leider nicht geklappt. Das Doku wurde leider "visible" geöffnet!?
Wegen der Hintergrundgeschichte schau ich mich mal in den älteren Beiträgen um. Vielen Dank für deine Mühe. Ein super-forum ist das hier. Auf Antworten braucht man hier ja wirklich nicht lang zu warten. |
|
Nach oben |
|
 |
macgix •--->


Anmeldedatum: 13.12.2000 Beiträge: 206 Wohnort: K–ln
|
Verfasst am: 11.11.2001 - 22:51 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Hallo iScript
Gib mal im Skripteditor ein:
tell application "Acrobat™ 4.0"
open (choose file) invisible false
end tell
und kompiliere das. Dann wird daraus:
tell application "Acrobat™ 4.0"
open (choose file) without invisible
end tell
Gruß,
Thomas _________________ [macgix] |
|
Nach oben |
|
 |
macgix •--->


Anmeldedatum: 13.12.2000 Beiträge: 206 Wohnort: K–ln
|
Verfasst am: 12.11.2001 - 11:47 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Wenn man Acrobat zuerst in den Hintergrund schickt und dann die PDF Datei(en) mit dem "invisible" Zusatz öffnet, geschieht das Öffnen ohne das der Anwender es sehen kann:
on run
activate
set tFile to (choose file of type "PDF " )
tell application "Finder" to set visible of process "Acrobat™ 4.0" to false
tell application "Acrobat™ 4.0" to open tFile without invisible
end run
Gruß,
Thomas _________________ [macgix] |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 13.11.2001 - 13:51 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
hallo thomas!
du kennst dich ja sicher mit acro ganz gut aus: der ablauf im hintergrund wäre schon ne tolle sache. ich wollte einen EPS-Export scripten. Das klappt auch ganz gut über ne folderaction (datei öffnen - dann über keyquencer export übers menü). wenn ich das im hintergrund ablaufen lassen möchte, verbietet sich ja sicher der keyquencer. wie erreiche ich das submenü Datei -> Export -> PostScript oder EPSÖ über die Acrobat-Bordmittel? mit "menu"? und wie muss dann die Syntax für ein Submenu aussehen? ich habs leider nicht ans laufen bekommen. ich komme einfach nicht ans submenu ran.
vielen dank schon mal _________________ - anholn deit kriegen - |
|
Nach oben |
|
 |
macgix •--->


Anmeldedatum: 13.12.2000 Beiträge: 206 Wohnort: K–ln
|
Verfasst am: 13.11.2001 - 15:29 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
So ist es:
tell application "Acrobatô 4.0"
activate
execute menu item "Export" of menu "File" -- Tiefer geht es nicht!
end tell
Ans Submenu kommt man nicht ran wie der ScriptDebugger hier anzeigt!. _________________ [macgix] |
|
Nach oben |
|
 |
macgix •--->


Anmeldedatum: 13.12.2000 Beiträge: 206 Wohnort: K–ln
|
Verfasst am: 13.11.2001 - 15:48 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Das Problem lässt sich wohl wie folgt lösen:
Per JavaScript fügt man einen Export-EPS Befehl im Menü File ein, den man dann ansprechen kann.
Wie das geht, hat die c't gerade erst kürzlich gelistet, ich geh's mal suchen. _________________ [macgix] |
|
Nach oben |
|
 |
macgix •--->


Anmeldedatum: 13.12.2000 Beiträge: 206 Wohnort: K–ln
|
Verfasst am: 13.11.2001 - 17:08 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Du kommst wohl um JavaScript-Einsatz in Deinem Falle nich herum. Es käme ja nach dem Menüaufruf auch noch ein Dialog mit Optionen:
//
// Abzulegen in "Acrobat 5.0:JavaScripts:"
//
function DoPrint() {
// aktuelles Dokument
var doc = event.target;
if (doc == null) {
// Warnung anzeigen
app.alert( "Kein Dokument verfügbar!" );
} else {
doc.print({bUI: false, nStart: doc.pageNum, nEnd: doc.pageNum,
bSilent: false, bShrinkToFit: false, bPrintAsImage: false,
bReverse: true, bAnnotation: true});
// Statusmeldung anzeigen
app.alert( "Dokument " + doc.path + " wurde gedruckt!",3);
}
}
// Neuen Menübefehl einhängen, der die obige Druckfunktion aufruft
app.addMenuItem({cName: "Umgekehrt drucken", cParent: "File", nPos: 5, cExec: "DoPrint()" });
// Bei Bedarf: Original-Druckfunktion deaktivieren
//app.hideMenuItem( "Print" );
// Copyright Heise Verlag 2001. Quelle: c't 22/2001 Seite 213
Vielleicht hilft Dir das weiter?! _________________ [macgix] |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 15.11.2001 - 01:04 Titel: mit FolderAction Dateien einzeln abarbeiten |
|
|
Hallo Thomas!
Vielen Dank schon mal für deine Mühe. Eigentlich schwach, dass man Submenus nicht anspringen kann. Leider waren deine Tips nicht ganz das was ich brauche (oder mir gewünscht hätte), weil ich eigentlich mit Acro4 scripten wollte, aber ich werde mich mit deinen Tipps hinsichtlich Java u. Acrobat5 bei Gelegenheit mal weiter reintasten in das Thema. Leider habe ich moment noch ein paar Sachen mehr in der Queue, so dass ich mich nicht gleich draufstürzen kann. Mit Java kenne ich mich leider auch nicht so aus, das Prog aus der CT geht leider über den Weg, Postscript zu erzeugen. Ich bräuchte aber einen EPS-Export. Aber ich werde mal weiter reinriechen u. meld mich wieder, wenn mal 'nen Schubs brauche (wird nicht lang dauern )
Bis denn _________________ - anholn deit kriegen - |
|
Nach oben |
|
 |
|