Adobe 65015634 Scripting Guide - Page 80

Running JavaScript-based Action Manager code from AppleScript

Page 80 highlights

CHAPTER 4: Action Manager Running JavaScript-based Action Manager code from AppleScript 80 3. From a VBScript you can then run the Emboss filter by saying (this example assumes emboss.jsx is found in C:\): Set objApp = CreateObject("Photoshop.Application") 'Open the document in the script filename = "C:\MyFile" DIM docRef SET docRef = objApp.Open(filename) objApp.DoJavaScriptFile "C:\emboss.jsx", Array(75, 2, 89) Running JavaScript-based Action Manager code from AppleScript There is no Action Manager functionality in AppleScript. However, you can execute JavaScript code and files from AppleScript using the do javascript command. For further information, please refer to Introduction to Scripting. 1. Follow steps 1-4 in "Using the Action Manager from JavaScript" on page 75. You will end up with a file (emboss.jsx) containing the following JavaScript code: function emboss( angle, height, amount ) { var id32 = charIDToTypeID( "Embs" ); var desc7 = new ActionDescriptor(); var id33 = charIDToTypeID( "Angl" ); desc7.putInteger( id33, angle ); var id34 = charIDToTypeID( "Hght" ); desc7.putInteger( id34, height ); var id35 = charIDToTypeID( "Amnt" ); desc7.putInteger( id35, amount ); executeAction( id32, desc7 ); } 2. At the end of the file emboss.jsx, add the following line of JavaScript code, which executes the emboss function with arguments passed to it from an external invocation. See Introduction to Scripting for more information about passing arguments from a AppleScript to a JavaScript. // Call emboss with values provided in the "arguments" collection emboss( arguments[0], arguments[1], arguments[2] ); 3. The following AppleScript code sample opens a document and runs the Emboss filter on it: tell application "Adobe Photoshop CS4" set theFile to alias "Application:Documents:MyFile" open theFile do javascript (file ) ¬ with arguments { 75,2,89 } end tell

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87

C
HAPTER
4: Action Manager
Running JavaScript-based Action Manager code from AppleScript
80
3.
From a VBScript you can then run the Emboss filter by saying (this example assumes
emboss.jsx is
found in C:\):
Set objApp = CreateObject("Photoshop.Application")
'Open the document in the script
filename = “C:\MyFile”
DIM docRef
SET docRef = objApp.Open(filename)
objApp.DoJavaScriptFile "C:\emboss.jsx", Array(75, 2, 89)
Running JavaScript-based Action Manager code from
AppleScript
There is no Action Manager functionality in AppleScript. However, you can execute JavaScript code and
files from AppleScript using the
do
javascript
command. For further information, please refer to
Introduction to Scripting
.
1.
Follow steps 1-4 in
“Using the Action Manager from JavaScript” on page 75
. You will end up with a file
(
emboss.jsx
) containing the following JavaScript code:
function emboss( angle, height, amount )
{
var id32 = charIDToTypeID( "Embs" );
var desc7 = new ActionDescriptor();
var id33 = charIDToTypeID( "Angl" );
desc7.putInteger( id33, angle );
var id34 = charIDToTypeID( "Hght" );
desc7.putInteger( id34, height );
var id35 = charIDToTypeID( "Amnt" );
desc7.putInteger( id35, amount );
executeAction( id32, desc7 );
}
2.
At the end of the file
emboss.jsx
, add the following line of JavaScript code, which executes the
emboss function with arguments passed to it from an external invocation. See
Introduction to Scripting
for more information about passing arguments from a AppleScript to a JavaScript.
// Call emboss with values provided in the "arguments" collection
emboss( arguments[0], arguments[1], arguments[2] );
3.
The following AppleScript code sample opens a document and runs the Emboss filter on it:
tell application "Adobe Photoshop CS4"
set theFile to alias “Application:Documents:MyFile”
open theFile
do javascript (file <
path to Emboss.jsx
>) ¬
with arguments { 75,2,89 }
end tell