Mehrere Pages-Dokumente mit Applescript in PDF konvertieren

W

waterknight

Aktives Mitglied
Thread Starter
Dabei seit
23.08.2009
Beiträge
139
Reaktionspunkte
21
Hallo zusammen,

ich würde gerne mehrere Pages-Dateien mittels Applescript in PDF-Dokumente umwandeln und habe hierfür eigentlich ein passendes Script gefunden. Das funktioniert im Prinzip so, dass ich die Pages-Dateien auf das als Programm gespeicherte Script ziehe, dieses die Konvertierung übernimmt und die Pages-Dateien als PDF an deren Ursprungsort wieder ausspuckt. Unter 10.8 hat dieses Script einwandfrei funktioniert, auf 10.9 taucht lediglich der Exportieren-Dialog von Pages 4.3 auf, bevor sich das Programm aufhängt. Eine Fehlermeldung erscheint nicht.

Da ich nicht den geringsten Plan von Applescript habe, bin ich leider komplett überfragt, was die Fehlerquelle betrifft. Findet von euch jemand zufällig die Ursache für diese Fehlfunktion? Und ist es mit wenig Aufwand möglich, diesem Script zu sagen, dass Pages die Dokumente über den "Sichern als PDF"-Dialog umwandeln soll statt nur einen Export als PDF durchzuführen?

Hier mal das besagte Script:

Code:
on open theFiles
   tell application "Pages"
       repeat with aFile in theFiles
           open aFile
           set docName to name of front document
           -- Remove .pages extension.
           set prevTIDs to AppleScript's text item delimiters
           set AppleScript's text item delimiters to ".pages"
           -- Add .pdf extension.
           set docName to first text item of docName & ".pdf"
           set AppleScript's text item delimiters to prevTIDs
           -- Get folder that dropped file exists in.
           tell application "Finder"
               set sourceFolder to (container of aFile) as Unicode text
           end tell -- Finder
           -- Save file to folder that dropped file exists in.
           set docPathAndName to sourceFolder & docName
           save front document as "SLDocumentTypePDF" in docPathAndName
           close front document
       end repeat
   end tell
end open

Vielen Dank schon mal im Voraus für eure Hilfe!

Edit: Sorry, da war doch eine Fehlermeldung, allerdings befand sich diese ganz im Hintergrund und war erst zu erkennen, als der Schreibtisch komplett zu sehen war.
Fehlermeldung.png
 
Soweit ich weiß gibt es da einen Bug.

Schau mal, ob Dir das hier weiterhilft.

EDIT: Wenn möglich Feedback hinterlassen, um zu signalisieren dass Dir diese Applescript-Funktionalität wichtig ist.
 
Bei mir geht es damit
Code:
on run {input, parameters}
	
	tell application "Pages"
		activate
		repeat with doc in input
			tell application "Finder"
				set fname to name of (info for doc)
				set thePath to (container of doc) as alias as text
				set newFile to (thePath & fname & ".pdf")
			end tell
			try
				open doc
				set thisDoc to front document
				save thisDoc as "SLDocumentTypePDF" in newFile
				close thisDoc saving no
			on error
				display dialog "Some problem occurred.
						File " & fname & "
						could not be saved as PDF."
			end try
		end repeat
	end tell
	
	return input
end run

daraus bastelst du dir ein Droplet
 
Ok, da habe ich wohl definitiv die falschen Suchbegriffe verwendet, auf diesen Hinweis bin ich nicht gestoßen. Vielen Dank mal für die Links!
Dieses Script auf der von dir verlinkten Seite ( http://macscripter.net/viewtopic.php?pid=168237#p168237 ) funktioniert zwar, wandelt aber nur das Pages-Dokument um, welches sich aktuell im Vordergrund befindet. Auch wenn ich mehrere Dokumente gleichzeitig öffne und das Script ausführe, wird immer nur das ausgewählte Dokument als PDF gesichert.
Werde aber die verlinkten Threads im Auge behalten, vielleicht geht da ja noch etwas. Über eine Bug-Report bei Apple werde ich auch nachdenken, vielleicht bewirkt das ja etwas.
 
Bei mir geht es damit
Code:
on run {input, parameters}
	
	tell application "Pages"
		activate
		repeat with doc in input
			tell application "Finder"
				set fname to name of (info for doc)
				set thePath to (container of doc) as alias as text
				set newFile to (thePath & fname & ".pdf")
			end tell
			try
				open doc
				set thisDoc to front document
				save thisDoc as "SLDocumentTypePDF" in newFile
				close thisDoc saving no
			on error
				display dialog "Some problem occurred.
						File " & fname & "
						could not be saved as PDF."
			end try
		end repeat
	end tell
	
	return input
end run

daraus bastelst du dir ein Droplet

Wie müsste ich denn diesen Code verändern, um die von mir beschriebene Funktion zu erhalten (also Pages-Dateien per drag and drop auf das Programm ziehen um hinterher PDF-Dokumente zu erhalten)? Wie gesagt, ich habe von dieser Materie keinerlei Ahnung^^
 
Den Scriptcode mußt du gar nicht verändern.
Kopiere ihn in den Apple Script Editor und speichere das mit dem Speichern (unter) Dialog als Programm in deinem Programme Ordner ab.
Dieses Programm ziehst du nun in das Dock.
Fertig.
Nun ziehst du die Pages Datei auf das Icon im Dock.
Die Umwandlung sollte nun beginnen
 
...hast Post...
 
Den Scriptcode mußt du gar nicht verändern.
Kopiere ihn in den Apple Script Editor und speichere das mit dem Speichern (unter) Dialog als Programm in deinem Programme Ordner ab.
Dieses Programm ziehst du nun in das Dock.
Fertig.
Nun ziehst du die Pages Datei auf das Icon im Dock.
Die Umwandlung sollte nun beginnen

Ok, dann habe ich doch nicht falsch gemacht. Leider läuft dieses Script nicht wie geplant, drag and drop ist nicht möglich und beim Ausführen des Programms, während ein Pages-Dokument bereits geöffnet ist, erscheint diese Meldung:
Script.png
 
Zurück
Oben Unten