[GastForen Programmierung/Entwicklung AppleScript Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

blaurose1980
Beiträge gesamt: 13

13. Jul 2006, 09:32
Beitrag # 1 von 33
Bewertung:
(4950 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Forum,

ich bin ziemlich neu in diesem Thema, deshalb folgende Frage:
Ich habe mehrere Dateien in InDesign, von denen ich immer sog. Text-PDFs schreiben möchte. Der herkömmliche Weg besteht noch darin, jedes Dokument zu öffnen,
die Bild-Ebene auszublenden, benötige ja nur die Text-Ebene, auf Drucken zu gehen und den jeweiligen Druckstil auswählen (den es schon gibt; es muss eine .ps Datei geschrieben werden) und dann zu speichern. Danach wird das Dokument geschlossen und nicht abgespeichert.
Um diesen großen Zeitaufwand zu umgehen (es sind immer so um die 40 Dateien), gibt es doch bestimmt eine Möglichkeit, diese ganzen Schritte in ein Script zu packen. So ähnlich wie im Photoshop mit Aktionen. Vielleicht geht es auch irgendwie, dass ich alle Dateien auf einmal schreiben kann.

Kann mir jemand helfen ?
Vielleicht gibt es schon ähnliche Scripts.

Vielen Dank !
Schöne Grüße

(P.S. Hier nochmal die Reihenfolge:
- Dokument öffnen
- Bild-Ebene ausblenden
- Datei > Drucken
- Druckstil auswählen
- Speichern > Speicherort auswählen > bestätigen
- Dokument schließen
- nicht speichern )
X

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

Hans Haesler
  
Beiträge gesamt: 5826

13. Jul 2006, 10:00
Beitrag # 2 von 33
Beitrag ID: #421047
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo blaurose1980,

herzlich willkommen im Page-Forum! :-)

ich habe leider kein ähnliches Script zur Hand, sondern müsste eines schreiben.
Das heisst, abgesehen von der Wahl des Druckstils, habe ich alle Aktionen
schon irgendmal gescriptet.

Tagsüber habe ich keine Zeit, doch werde ich heute Abend versuchen, eine erste
Version zu entwickeln.

Gruss, Hans


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

blaurose1980
Beiträge gesamt: 13

13. Jul 2006, 10:11
Beitrag # 3 von 33
Beitrag ID: #421048
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank für die Hilfe.
Dieses Script kann ich bestimmt später noch selber bearbeiten, weil bei einigen Katalogen/Seiten habe ich ja unterschiedliche Druckstile (z.B. "VKL hoch"), damit ich dann den dementsprechenden Druckstilnamen im Script verändern kann.

Schöne Grüße


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

TMA
Beiträge gesamt: 399

13. Jul 2006, 11:15
Beitrag # 4 von 33
Beitrag ID: #421049
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hab da was fertiges gehabt, kannst ja noch anpassen. läuft mit cs1 und cs2. ist ein droplet. kannst die dokumente draufziehen und einen druckstil und drucker auswählen. einfach mal testen:

Code
global OptionsVar, tmpPrintStyle 

on ProcessAFileList(aFileList)
repeat with aFile in aFileList
tell application "Finder"
set runVar to (file type of aFile = "IDd4")
end tell
if runVar = true then
if OptionsVar = false then
set tmpPrintStyle to my getPrintOptions()
my printFile(aFile, tmpPrintStyle)
else
my printFile(aFile, tmpPrintStyle)

end if
else
tell application "Finder" to activate
tell application "Finder" to display dialog "Document: " & name of aFile & " is no InDesignCS2 Document!" with icon 2

end if
end repeat
end ProcessAFileList


on open of fileList
-- wichtige infos anzeigen
set click to {" Cancel ", " OK "}
set retValue to (display dialog "All Pics and Charsets OK? Colormanagement OK?" buttons click default button 2 giving up after 10)
set myButton to button returned of retValue
if myButton = first item of click then error number -128
if gave up of retValue = true then error number -128
set OptionsVar to false
ProcessAFileList(fileList)
end open


on getPrintOptions()
tell application "Adobe InDesign CS2"
set tmpPrintStyle to name of every printer preset
set tmpPrintStyle to (choose from list tmpPrintStyle with prompt "Print-Style?") as string
set tmpPrintStylePrinter to printer of printer preset tmpPrintStyle
log tmpPrintStylePrinter

set tmpPrinter to printer list of printer preset tmpPrintStyle
set tmpPrinter to (choose from list tmpPrinter with prompt "Printer?" default items tmpPrintStylePrinter) as string

log tmpPrintStyle
log tmpPrinter

set printer of printer preset tmpPrintStyle to tmpPrinter
get printer of printer preset tmpPrintStyle
end tell
set OptionsVar to true
return tmpPrintStyle
end getPrintOptions

on printFile(aFile, tmpPrintStyle)
set aFile to aFile as string
tell application "Adobe InDesign CS2"
set csVersion to version
if csVersion = 3 then
set user interaction level to never interact
else
set user interaction level of script preferences to never interact
end if
activate

try
close every document
end try
try
open file aFile

on error
tell application "Finder"
display dialog ("Cannot open " & name of alias aFile as string)
return
end tell
end try

delay 5

with timeout of 600 seconds
print document 1 using (tmpPrintStyle as string) --without print dialog
end timeout

if csVersion = 3 then
set user interaction level to interact with all
else
set user interaction level of script preferences to interact with all
end if

close document 1 saving no
end tell
end printFile


gruß
TMA


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

Hans Haesler
  
Beiträge gesamt: 5826

13. Jul 2006, 12:08
Beitrag # 5 von 33
Beitrag ID: #421050
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

danke für das Script. Das Ausprobieren werde ich gerne blaurose1980 überlassen
und heute Abend an einem anderen Projekt weiterarbeiten. :-)

Gruss, Hans


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

blaurose1980
Beiträge gesamt: 13

14. Jul 2006, 08:48
Beitrag # 6 von 33
Beitrag ID: #421051
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

danke für das Script. Hat leider nicht ganz so geklappt, wie ich mir das vorgestellt habe. InDesign hängt sich auf.
Außerdem sollte das nachfolgende Fenster mit der Auswahl des Druckers, nach dem Auswählen des Druckstiles (ist ja der Drucker schon enthalten), durch ein Fenster zum Auswählen des Speicherortes ersetzt werden. Vielleicht kann man auch InDesign CS 2 durch CS 1 ersetzen. Und ob das mit dem Ausblenden der Bild-Ebene geklappt hat, kann ich auch nicht sagen. Hat ja nicht funktioniert.
Wollte die obengenannten Punkte ja selber im Skript ändern, leider blicke ich da nicht ganz durch, bin ja auch nur Laie.
Vielleicht könnt ihr mir nochmal helfen ?

Schöne Grüße
blaurose1980


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

TMA
Beiträge gesamt: 399

14. Jul 2006, 09:08
Beitrag # 7 von 33
Beitrag ID: #421052
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi blaurose1980,
also das script läuft bei mir als droplet gespeichert bei beiden cs-versionen. gute frage warum er sich bei dir weghängt.
das zweite fenster zum extra auswählen des druckers muss bei uns drinne sein da auf über 100 macs die drucker nicht alle mit demselben namen angelegt sind. manche druckernamen nennen sich z.b. beispiel_mitPPD oder beispiel_mit_ppd. schon ist durch andere schreibweise der drucker nicht mehr ansprechbar bzw. druckstile von anderen rechnern werden nicht richtig importiert.
also dieses script ist nur zum drucken der seiten zu einem ausgewählten drucker. die seiten werden nur geöffnet, gedruckt und wieder geschlossen (ohne speichern).
das ist nur ein standard druck-script für indesign was man anpassen müsste für ebenenausblendung und speichern der seiten als postscript.
alle befehle findest du im dictionary von indesign. falls du mit apples script-editor arbeitest:
unter ablage kannst du ein funktionverzeichniss(dictionary) der programme öffnen.
dort werden alle befehle zu den jeweiligen programmen beschrieben.

gruß
TMA


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

Hans Haesler
  
Beiträge gesamt: 5826

18. Jul 2006, 21:56
Beitrag # 8 von 33
Beitrag ID: #421053
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo blaurose1980,

ich habe Dich nicht vergessen, war aber ein paar Tage abwesend.

Sobald es etwas ruhiger sein wird (nicht vor Sonntag), werde ich
versuchen, ein funktionierendes Script zusammenzustellen.

Gruss, Hans


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

blaurose1980
Beiträge gesamt: 13

26. Jul 2006, 14:40
Beitrag # 9 von 33
Beitrag ID: #421054
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ist ok. Möchte dich nicht von deiner eigentlichen Arbeit abhalten.
Aber wäre super, wenn es funktionieren würde. Spar mir unheimlich viel Zeit dadurch.

Schöne Grüße
blaurose1980


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

Hans Haesler
  
Beiträge gesamt: 5826

26. Jul 2006, 14:54
Beitrag # 10 von 33
Beitrag ID: #421055
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo blaurose1980,

damit Du dadurch "unheimlich viel" von Deiner Zeit sparen kannst, müsste ich
ziemlich viel von meiner Zeit investieren. Werde ich auch tun, aber bislang
musste ich die Prioritäten anders setzen.

Gruss, Hans


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

Hans Haesler
  
Beiträge gesamt: 5826

26. Jul 2006, 21:23
Beitrag # 11 von 33
Beitrag ID: #421056
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo blaurose1980,

ich habe jetzt mit dem Entwickeln des Scripts beginnen können.

Aber zuvor hatte ich versucht, das Script, welches TMA irgendwo aufgegabelt hat, zu verstehen. Es enthält
einen groben Fehler zu Beginn des Handlers 'printFile':
---
tell application "Adobe InDesign CS2"
      set csVersion to version
end tell
---
Das Ergebnis ist nicht 3 (oder 4), wie im Script erwartet, sondern "4.0.3.651" (mit CS2).
Demnach wird im folgenden Test ...
---
if csVersion = 3 then
---
... immer der Befehl des 'else'-Abschnitts ausgeführt und der 'interaction level' wird laut den Vorgaben
von CS2 auf 'never interact' gesetzt.

Und dass zum Feststellen des Datei-Typs der Finder beigezogen wird (statt 'info for' der Standard Additions),
ist ein weiterer Hinweis auf die ungenügenden Kenntnisse des Autors. Zudem werden im Handler 'ProcessAFileList'
nur CS2-Dokumente als InDesign-Dokumente anerkannt ...

Genug gemeckert. Meine Lösung steht noch nicht. Aber ich werde versuchen, bis Samstag etwas zustandezubringen.

Gruss, Hans


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

TMA
Beiträge gesamt: 399

27. Jul 2006, 09:03
Beitrag # 12 von 33
Beitrag ID: #421057
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo hans,
da ist aber einer böse... :-)

also das script hab ich nirgends aufgegabelt, sondern selbst geschrieben.

das script ist nur für unsere firma intern geschrieben worden und läuft bei uns hundertprozentig (ist bei uns nur für cs2-docs wegen der fileType abfrage).
wie gesagt, ansonsten muss es halt angepasst werden.

1. zur csVersion:

tell application "Adobe InDesign CS2"
  set csVersion to version
end tell

bei cs bekommen wir bei uns den wert 3 zurück.


2. zum thema: ungenügende Kenntnisse des Autors:

dem ist mit sicherheit so. nobody is perfect.
bin für jede hilfestellung dankbar.

warum ist 'info for' der Standard Additions z.b. besser?


gruß
TMA

ps.:
bin für jede kritik dankbar...
aus fehlern lernt man ja.


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

Hans Haesler
  
Beiträge gesamt: 5826

27. Jul 2006, 13:37
Beitrag # 13 von 33
Beitrag ID: #421058
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

keine Spur von böse! :-)

Aber ich sehe ein, dass ich voreilig geurteilt und  vor allem  ohne Recherche gepostet habe.

Weil die Dialoge in Englisch sind, aber ein Kommentar auf Deutsch drin steht, habe ich anscheinend
fälschlicherweise angenommen, dass das Script von einer US-Web-Site stammt.

Ja, Du hast (fast) recht. Mit InDesign CS ist das Resultat von ...
---
tell application "InDesign CS"
      version
end tell
---
... 3.0 (nicht 3). Ein 'real' (nicht ein 'integer'). Aber beim Test mit '3', wird kein Unterschied
zwischen den beiden gemacht. Meine Aussage 'grober Fehler' muss ich deshalb ändern in etwas
Sanfteres. Kommt mir aber jetzt gerade nicht in den Sinn ...

Und schliesslich: Das 'info for' der Standard Additions ist besser, weil man damit vermeidet, den
Finder einzuspannen. Dieser ist meistens sehr beschäftigt und es kann vorkommen, dass es eine
spürbare Pause gibt, bevor das Ergebnis vorliegt.

Unter Mac OS X haben zwar die System Events frühere Aufgaben des Finders übernommen, z.B. das
Überwachen von Ordnern, welchen eine Aktion zugewiesen ist. Kann sein, dass die Verzögerung
bei Finder-Befehlen nicht mehr so ausgeprägt ist, wie früher.

Ich muss gestehen, dass ich unter Mac OS X noch keine diesbezüglichen Tests durchgeführt habe.
Werde es nachholen, doch nicht bevor die erste Version des Scripts für blaurose1980 fertig ist.

Gruss, Hans


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

TMA
Beiträge gesamt: 399

27. Jul 2006, 14:34
Beitrag # 14 von 33
Beitrag ID: #421059
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi hans,
das script hatte ich mal im macscripter bbs gepostet:

http://bbs.applescript.net/viewtopic.php?id=17669

deshalb hab ich die dialoge in englisch geschrieben.

und ich werd versuchen den finder so selten wie möglich zu benutzen.
was hälst du eigentlich von der jon's commands osax? wg. files kopieren, umbenennen usw...

gruß
TMA


als Antwort auf: [#421046]

Script zum Drucken von mehreren Dateien aus InDesign CS1 / CS2

Hans Haesler
  
Beiträge gesamt: 5826

27. Jul 2006, 15:12
Beitrag # 15 von 33
Beitrag ID: #421060
Bewertung:
(4949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo TMA,

wie gesagt, vielleicht sind unter Mac OS X meine Vorbehalte dem Finder gegenüber
nicht stichhaltig.

Das Kopieren mithilfe der "Jon's Commands" habe ich unter Mac OS 8.6 getestet, als
ich mein Script zum Sammeln der Bilder entwickelte.

Vorteil: Viel schneller als der Finder.
Nachteil: Der Anwender sieht nicht, dass etwas geschieht.

Deshalb habe ich dem Kopieren mit dem Finder den Vorzug gegeben. Okay, man könnte
einen Fortschrittsbalken einbauen.

Unter Mac OS 9 habe ich die "Jon's Commands" eigentlich nur zum Messen der 'ticks'
benutzt. Unter Mac OS X brauche ich die "GetMilliSec.osax" als Stopp-Uhr.

Die OS-X-"Jon's Commands" ist ja eine von Jon Pugh nur widerwillig veröffentlichte
Beta-Version. Und er hat sich kürzlich recht negativ über eine mögliche UB-Version
geäussert. Keine Motivation, weil der Eingang von Spenden gleich Null sei ...

Gruss, Hans


als Antwort auf: [#421046]
X