Adobe 27510753 Scripting Guide - Page 40

in the Scripts folder inside the Presets folder in, your InDesign folder.

Page 40 highlights

32 Getting Started with InDesign Scripting Adobe InDesign CS2 Scripting Guide JavaScript 1. Enter the following JavaScript using any text editor or the ExtendScript Toolkit. //Simple User Interface Example var myDialog = app.dialogs.add({name:"Simple User Interface Example Script",canCancel:true}); with(myDialog){ //Add a dialog column. with(dialogColumns.add()){ //Create a text edit field. var myTextEditField = textEditboxes.add({editContents:"Hello World!", minWidth:180}); //Create a number (real) entry field. var myPointSizeField = realEditboxes.add({editValue:72}); } } //Display the dialog box. var myResult = myDialog.show(); if(myResult == true){ //Get the values from the dialog box controls. var myString = myTextEditField.editContents; var myPointSize = myPointSizeField.editValue; //Remove the dialog box from memory. myDialog.destroy(); //Create a new document. var myDocument = app.documents.add() with(myDocument){ //Create a text frame. var myTextFrame = pages.item(0).textFrames.add(); //Resize the text frame to the "live" area of the page (using the function "myGetBounds"). var myBounds = myGetBounds(myDocument, myDocument.pages.item(0)); myTextFrame.geometricBounds=myBounds; //Enter the text from the dialog box in the text frame. myTextFrame.contents=myString; //Set the size of the text to the size you entered in the dialog box. myTextFrame.texts.item(0).pointSize = myPointSize; } } else{ //User clicked Cancel, so remove the dialog box from memory. myDialog.destroy(); } function myGetBounds(myDocument, myPage){ with(myDocument.documentPreferences){ var myPageHeight = pageHeight; var myPageWidth = pageWidth; } with(myPage.marginPreferences){ var myTop = top; var myLeft = left; var myRight = right; var myBottom = bottom; } myRight = myPageWidth - myRight; myBottom = myPageHeight- myBottom; return [myTop, myLeft, myBottom, myRight]; } 2. Save the text as a plain text file with the file extension .jsx in the Scripts folder inside the Presets folder in your InDesign folder. 3. Test the script by double-clicking the script name in the InDesign Scripts palette.

  • 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
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184

32
Getting Started with InDesign Scripting
Adobe InDesign CS2 Scripting Guide
JavaScript
1.
Enter the following JavaScript using any text editor or the ExtendScript Toolkit.
//Simple User Interface Example
var myDialog = app.dialogs.add({name:"Simple User Interface Example Script",canCancel:true});
with(myDialog){
//Add a dialog column.
with(dialogColumns.add()){
//Create a text edit field.
var myTextEditField = textEditboxes.add({editContents:"Hello World!", minWidth:180});
//Create a number (real) entry field.
var myPointSizeField = realEditboxes.add({editValue:72});
}
}
//Display the dialog box.
var myResult = myDialog.show();
if(myResult == true){
//Get the values from the dialog box controls.
var myString = myTextEditField.editContents;
var myPointSize = myPointSizeField.editValue;
//Remove the dialog box from memory.
myDialog.destroy();
//Create a new document.
var myDocument = app.documents.add()
with(myDocument){
//Create a text frame.
var myTextFrame = pages.item(0).textFrames.add();
//Resize the text frame to the "live" area of the page (using the function "myGetBounds").
var myBounds = myGetBounds(myDocument, myDocument.pages.item(0));
myTextFrame.geometricBounds=myBounds;
//Enter the text from the dialog box in the text frame.
myTextFrame.contents=myString;
//Set the size of the text to the size you entered in the dialog box.
myTextFrame.texts.item(0).pointSize = myPointSize;
}
}
else{
//User clicked Cancel, so remove the dialog box from memory.
myDialog.destroy();
}
function myGetBounds(myDocument, myPage){
with(myDocument.documentPreferences){
var myPageHeight = pageHeight;
var myPageWidth = pageWidth;
}
with(myPage.marginPreferences){
var myTop = top;
var myLeft = left;
var myRight = right;
var myBottom = bottom;
}
myRight = myPageWidth - myRight;
myBottom = myPageHeight- myBottom;
return [myTop, myLeft, myBottom, myRight];
}
2.
Save the text as a plain text file with the file extension
.jsx
in the Scripts folder inside the Presets folder in
your InDesign folder.
3.
Test the script by double-clicking the script name in the InDesign Scripts palette.