aboutsummaryrefslogtreecommitdiff
path: root/samples/AppleScript/Convert To PostScript.applescript
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2012-08-06 10:22:38 -0500
committerJoshua Peek <josh@joshpeek.com>2012-08-06 10:22:38 -0500
commita35fa88f50ff4486ce56d3603997871144b413d7 (patch)
treeefebe43ec60b3763e519871cfb378ce266d514c1 /samples/AppleScript/Convert To PostScript.applescript
parenta13f246e4f99291e3d7ddd4cc4ca0fc3c7107485 (diff)
Add more applescript samples
Diffstat (limited to 'samples/AppleScript/Convert To PostScript.applescript')
-rw-r--r--samples/AppleScript/Convert To PostScript.applescript91
1 files changed, 91 insertions, 0 deletions
diff --git a/samples/AppleScript/Convert To PostScript.applescript b/samples/AppleScript/Convert To PostScript.applescript
new file mode 100644
index 0000000..b97ed73
--- /dev/null
+++ b/samples/AppleScript/Convert To PostScript.applescript
@@ -0,0 +1,91 @@
+(*
+
+Copyright 2003 Apple Computer, Inc.
+
+You may incorporate this Apple sample code into your program(s) without
+restriction. This Apple sample code has been provided "AS IS" and the
+responsibility for its operation is yours. You are not permitted to
+redistribute this Apple sample code as "Apple sample code" after having
+made changes. If you're going to redistribute the code, we require
+that you make it clear that the code was descended from Apple sample
+code, but that you've made changes.
+*)
+
+property type_list : {"JPEG", "GIFf", "PICT", "TIFF", "PDF", "TEXT"}
+property extension_list : {"jpg", "gif", "pct", "tif", "pdf", "rtf"}
+--html is not currently handled
+
+on run {}
+ tell application "Finder" to set FinderSelection to the selection as alias list
+
+ set FS to FinderSelection
+ --Ideally, this list could be passed to the open handler
+
+ set SelectionCount to number of FS -- count
+ if SelectionCount is 0 then
+ set FS to userPicksFolder()
+ else if the SelectionCount is 1 then
+ set MyPath to path to me
+ if MyPath is item 1 of FS then
+ --If I'm a droplet then I was double-clicked
+ set FS to userPicksFolder()
+ end if
+ else
+ --I'm not a double-clicked droplet
+ end if
+ open FS
+end run
+
+on userPicksFolder()
+ set these_items to {}
+ set these_items to (choose file with prompt "Select a file to convert to PostScript:" of type {"JPEG", "GIFf", "PICT", "TIFF", "TEXT", "RTF"}) as list
+end userPicksFolder
+
+
+on open these_items
+ set thesefiles to {}
+ set the item_info to {}
+ repeat with i from 1 to the count of these_items
+ set this_item to (item i of these_items)
+ set the item_info to info for this_item
+
+ if folder of the item_info is true then --if the item is a folder
+ processFolder(this_item)
+ else if ((folder of the item_info is false) and (alias of the item_info is false)) and (the file type of the item_info is in the type_list) or ((the name extension of the item_info) is in the extension_list) then
+
+ set theFilePath to (item i of these_items as string)
+ set thePOSIXFilePath to POSIX path of theFilePath as string
+ processFile(thePOSIXFilePath)
+ end if
+ end repeat
+end open
+
+--process folders
+on processFolder(theFolder)
+ set these_items to list folder theFolder without invisibles
+ repeat with i from 1 to the count of these_items
+ set this_item to alias ((theFolder as text) & (item i of these_items))
+ set the item_info to info for this_item
+ if folder of the item_info is true then
+ processFolder(this_item)
+ else if (alias of the item_info is false) and ((the file type of the item_info is in the type_list) or the name extension of the item_info is in the extension_list) then
+ set theFilePath to (this_item as string)
+ set thePOSIXFilePath to POSIX path of theFilePath as string
+ processFile(thePOSIXFilePath)
+ end if
+ end repeat
+end processFolder
+
+--need to pass the URL to Terminal
+on processFile(thePOSIXFileName)
+ try
+ set terminalCommand to ""
+ set convertCommand to "/System/Library/Printers/Libraries/./convert "
+ set newFileName to thePOSIXFileName & ".ps"
+ set terminalCommand to convertCommand & "-f " & "\"" & thePOSIXFileName & "\"" & " -o " & "\"" & newFileName & "\"" & " -j \"application/postscript\""
+
+ do shell script terminalCommand
+ end try
+end processFile
+
+