Adobe 27510753 Scripting Guide - Page 156

Setting margins and columns

Page 156 highlights

148 Working with Documents in VBScript Adobe InDesign CS2 Scripting Guide Setting page margins and columns Each page in a document can have its own margin and column settings. With InDesign scripting, these properties are part of the MarginPreferences object for each page. This example script creates a new document, then sets the margins and columns for all pages in the master spread: Rem MarginsAndColumns.vbs Rem An InDesign CS2 VBScript Rem Sets up the margins and columns for the first page of an example document. Set myInDesign = CreateObject("InDesign.Application.CS2") Set myDocument = myInDesign.Documents.Add With myDocument.Pages.Item(1).MarginPreferences .ColumnCount = 3 Rem columnGutter can be a number or a measurement string. .ColumnGutter = "1p" .Top = "4p" .Bottom = "6p" Rem When document.documentPreferences.facingPages = true, Rem "left" means inside "right" means outside. .Left = "6p" .Right = "4p" End With InDesign does not allow you to create a page that is smaller than the sum of the relevant margins, that is, the width of the page must be greater than the sum of the current left and right page margins, and the height of the page must be greater than the sum of the top and bottom margins. If you're creating very small pages (for example, for individual newspaper advertisements) using the InDesign user interface, you can easily set the correct margin sizes as you create the document by entering new values in the document default page Margin fields in the New Document dialog box. From scripting, however, the solution is not as clear-when you create a document, it uses the application default margin preferences. These margins are applied to all pages of the document, including master pages. Setting the document margin preferences affects only new pages and has no effect on existing pages. If you try to set the page height and page width to values smaller than the sum of the corresponding margins on any of the existing pages, InDesign does not change the page size. There are two solutions. The first is to set the margins of existing pages before trying to change the page size: Rem PageMarginsForSmallPages.vbs Rem An InDesign CS2 VBScript Rem Creates a new document and sets up page margins. Set myInDesign = CreateObject("InDesign.Application.CS2") Set myDocument = myInDesign.Documents.Add myDocument.ViewPreferences.HorizontalMeasurementUnits = idMeasurementUnits.idPoints myDocument.ViewPreferences.VerticalMeasurementUnits = idMeasurementUnits.idPoints With myDocument.MarginPreferences .Top = 0 .Left = 0 .Bottom = 0 .Right = 0 .ColumnCount = 1 .ColumnGutter = 0 End With Rem The following assumes that your default document contains a single page. With myDocument.Pages.Item(1).MarginPreferences .Top = 0 .Left = 0 .Bottom = 0 .Right = 0 .ColumnCount = 1 .ColumnGutter = 0 End With

  • 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

148
Working with Documents in VBScript
Adobe InDesign CS2 Scripting Guide
Setting page margins and columns
Each page in a document can have its own margin and column settings. With InDesign scripting, these
properties are part of the
MarginPreferences
object for each page. This example script creates a new
document, then sets the margins and columns for all pages in the master spread:
Rem MarginsAndColumns.vbs
Rem An InDesign CS2 VBScript
Rem Sets up the margins and columns for the first page of an example document.
Set myInDesign = CreateObject("InDesign.Application.CS2")
Set myDocument = myInDesign.Documents.Add
With myDocument.Pages.Item(1).MarginPreferences
.ColumnCount = 3
Rem columnGutter can be a number or a measurement string.
.ColumnGutter = "1p"
.Top = "4p"
.Bottom = "6p"
Rem When document.documentPreferences.facingPages = true,
Rem "left" means inside "right" means outside.
.Left = "6p"
.Right = "4p"
End With
InDesign does not allow you to create a page that is smaller than the sum of the relevant margins, that is, the
width of the page must be greater than the sum of the current left and right page margins, and the height
of the page must be greater than the sum of the top and bottom margins. If you’re creating very small pages
(for example, for individual newspaper advertisements) using the InDesign user interface, you can easily set
the correct margin sizes
as you create the document by entering new values in the document default page
Margin fields in the New Document dialog box.
From scripting, however, the solution is not as clear—when you create a document, it uses the
application
default margin preferences. These margins are applied to all pages of the document, including master pages.
Setting the document margin preferences affects only new pages and has no effect on existing pages. If you
try to set the page height and page width to values smaller than the sum of the corresponding margins on
any of the existing pages, InDesign does not change the page size.
There are two solutions. The first is to set the margins of existing pages before trying to change the page size:
Rem PageMarginsForSmallPages.vbs
Rem An InDesign CS2 VBScript
Rem Creates a new document and sets up page margins.
Set myInDesign = CreateObject("InDesign.Application.CS2")
Set myDocument = myInDesign.Documents.Add
myDocument.ViewPreferences.HorizontalMeasurementUnits = idMeasurementUnits.idPoints
myDocument.ViewPreferences.VerticalMeasurementUnits = idMeasurementUnits.idPoints
With myDocument.MarginPreferences
.Top = 0
.Left = 0
.Bottom = 0
.Right = 0
.ColumnCount = 1
.ColumnGutter = 0
End With
Rem The following assumes that your default document contains a single page.
With myDocument.Pages.Item(1).MarginPreferences
.Top = 0
.Left = 0
.Bottom = 0
.Right = 0
.ColumnCount = 1
.ColumnGutter = 0
End With