Adobe 0046100128056 Scripting Guide - Page 40

Master overlay, Tool on the Tools Panel

Page 40 highlights

CHAPTER 3: Documents Adjusting Page Sizes and Layout 40 //Given a document with four pages (0, 1, 2, 3)... var myDocument = app.activeDocument; var myPages = myDocument.pages; //Rotate a page around its center point. var myRotateMatrix = app.transformationMatrices.add({counterclockwiseRotationAngle:27}); myTransform(myPages.item(0), myRotateMatrix); //Scale a page around its center point. var myScaleMatrix = app.transformationMatrices.add({horizontalScaleFactor:0.8, verticalScaleFactor:0.8}); myTransform(myPages.item(1), myScaleMatrix); //Shear a page around its center point. var myShearMatrix = app.transformationMatrices.add({clockwiseShearAngle:30}); myTransform(myPages.item(2), myShearMatrix); function myTransform(myPage, myTransformationMatrix) { myPage.transform(CoordinateSpaces.PASTEBOARD_COORDINATES, AnchorPoint.CENTER_ANCHOR, myTransformationMatrix); } Master page overlay Because pages can have multiple sizes, it is possible for a page and its master page to be different sizes. In addition to tracking which master is applied, pages now also maintain a matrix that determines how the master page draws on the page. This is called the Master Page Overlay. When you select a page using the Page Tool on the Tools Panel, you can see how the master page is positioned by checking the Show Master Page Overlay checkbox on the control panel. You can move the overlay around with the mouse. InDesign achieves this by applying a transform to the master overlay matrix. Although the user interface allows only translation (moving x and y), you can do more by scripting. The following script shows how to transform a master page overlay. (For the complete script, see MasterPageTransform.) //Given a document with four pages (0, 1, 2, 3)... var myDocument = app.activeDocument; var myPages = myDocument.pages; //Rotate master page overlay around its top-left corner. var myRotateMatrix = app.transformationMatrices.add({counterclockwiseRotationAngle:27}); myPages.item(0).masterPageTransform = myRotateMatrix; //Scale master page overlay around its top-left corner. var myScaleMatrix = app.transformationMatrices.add({horizontalScaleFactor:0.5, verticalScaleFactor:0.5}); myPages.item(1).masterPageTransform = myScaleMatrix; //Shear master page overlay around its top-left corner. var myShearMatrix =app.transformationMatrices.add({clockwiseShearAngle:30}); myPages.item(2).masterPageTransform = myShearMatrix; //Translate master page overlay 1 inch right and 2 inches down. var myTranslateMatrix = app.transformationMatrices.add({horizontalTranslation:72, verticalTranslation:144}); myPages.item(3).masterPageTransform = myTranslateMatrix;

  • 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
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209

C
HAPTER
3: Documents
Adjusting Page Sizes and Layout
40
//Given a document with four pages (0, 1, 2, 3)...
var myDocument = app.activeDocument;
var myPages = myDocument.pages;
//Rotate a page around its center point.
var myRotateMatrix =
app.transformationMatrices.add({counterclockwiseRotationAngle:27});
myTransform(myPages.item(0), myRotateMatrix);
//Scale a page around its center point.
var myScaleMatrix = app.transformationMatrices.add({horizontalScaleFactor:0.8,
verticalScaleFactor:0.8});
myTransform(myPages.item(1), myScaleMatrix);
//Shear a page around its center point.
var myShearMatrix = app.transformationMatrices.add({clockwiseShearAngle:30});
myTransform(myPages.item(2), myShearMatrix);
function myTransform(myPage, myTransformationMatrix)
{
myPage.transform(CoordinateSpaces.PASTEBOARD_COORDINATES,
AnchorPoint.CENTER_ANCHOR,
myTransformationMatrix);
}
Master page overlay
Because pages can have multiple sizes, it is possible for a page and its master page to be different sizes. In
addition to tracking which master is applied, pages now also maintain a matrix that determines how the
master page draws on the page. This is called the Master Page Overlay. When you select a page using the
Page Tool on the Tools Panel, you can see how the master page is positioned by checking the Show Master
Page Overlay checkbox on the control panel. You can move the overlay around with the mouse. InDesign
achieves this by applying a transform to the master overlay matrix. Although the user interface allows only
translation (moving
x
and
y
), you can do more by scripting. The following script shows how to transform a
master page overlay. (For the complete script, see MasterPageTransform.)
//Given a document with four pages (0, 1, 2, 3)...
var myDocument = app.activeDocument;
var myPages = myDocument.pages;
//Rotate master page overlay around its top-left corner.
var myRotateMatrix =
app.transformationMatrices.add({counterclockwiseRotationAngle:27});
myPages.item(0).masterPageTransform = myRotateMatrix;
//Scale master page overlay around its top-left corner.
var myScaleMatrix = app.transformationMatrices.add({horizontalScaleFactor:0.5,
verticalScaleFactor:0.5});
myPages.item(1).masterPageTransform = myScaleMatrix;
//Shear master page overlay around its top-left corner.
var myShearMatrix =app.transformationMatrices.add({clockwiseShearAngle:30});
myPages.item(2).masterPageTransform = myShearMatrix;
//Translate master page overlay 1 inch right and 2 inches down.
var myTranslateMatrix = app.transformationMatrices.add({horizontalTranslation:72,
verticalTranslation:144});
myPages.item(3).masterPageTransform = myTranslateMatrix;